• [Swift通天遁地]五、高级扩展-(8)ImageView(图像视图)的各种扩展方法


    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10246601.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    目录:[Swift]通天遁地Swift

    本文将演示图像和图像视图在下载、压缩、裁剪方面的扩展。

    首先确保在项目中已经安装了所需的第三方库。

    点击【Podfile】,查看安装配置文件。

    1 platform :ios, '12.0'
    2 use_frameworks!
    3 
    4 target 'DemoApp' do
    5     source 'https://github.com/CocoaPods/Specs.git'
    6     pod 'EZSwiftExtensions'
    7 end

    根据配置文件中的相关配置,安装第三方库。

    然后点击打开【DemoApp.xcworkspace】项目文件。

    在项目导航区,打开视图控制器的代码文件【ViewController.swift】

    现在开始编写代码,依次使用图像类型的各个扩展方法。

      1 import UIKit
      2 //在当前的类文件中,引入已经安装的第三方类库
      3 import EZSwiftExtensions
      4 
      5 class ViewController: UIViewController {
      6 
      7     override func viewDidLoad() {
      8         super.viewDidLoad()
      9         // Do any additional setup after loading the view, typically from a nib.
     10         //图像视图的一些扩展方式
     11         uiImageViewExample()
     12         //图像类型的扩展
     13         uiImageExtensions()
     14         //对图片进行裁切
     15         cropImage()
     16     }
     17     
     18     //添加一个方法,图像视图的一些扩展方式
     19     func uiImageViewExample()
     20     {
     21         //从项目中读取一张图片素材
     22         let image = UIImage(named: "Girl")!
     23         //初始化一个图像视图,并设置图像视图的坐标、待显示的图片。
     24         //在此设置图像视图的宽度为200,高度为等比例缩放。
     25         let imageView = UIImageView(x: 0, y: 0, image: image, scaleToWidth: 200)
     26         //通过调用图像视图对象的圆角方法,
     27         //将图像视图修改成一个圆角视图。
     28         imageView.roundSquareImage()
     29         //设置图像视图位于根视图的中心位置
     30         imageView.center = self.view.center
     31         //将图像视图添加到父视图中
     32         self.view.addSubview(imageView)
     33     }
     34     
     35     //添加一个方法,快速下载网络图片
     36     func downloadImage()
     37     {
     38         //初始化一个图像视图,并设置图像视图的显示区域
     39         let imageView = UIImageView(x: 0, y: 0, w: 320, h: 568)
     40 
     41         //通过图像视图对象的从网址下载图片的方法,下载指定网址的图片。
     42         //imageView.imageWithUrl(url: "http://images.apple.com/v/apple-watch-nike/a/images/overview/features_large.jpg")
     43 
     44         //将图像视图添加到根视图
     45         self.view.addSubview(imageView)
     46         
     47         //初始化一个图片,作为图像视图的占位图片。
     48         let placeholder = UIImage(named: "background")!
     49         //通过图像视图对象的从网址下载图片的方法,下载指定网址的图片。
     50         //并设置图像视图的占位图片
     51         imageView.imageWithUrl(url: "http://images.apple.com/v/apple-watch-nike/a/images/overview/features_large.jpg",
     52                                 placeholder: placeholder)//占位图片
     53     }
     54     
     55     //添加一个方法,演示对图像类型的扩展。
     56     func uiImageExtensions()
     57     {
     58         //从项目中读取一张图片
     59         let image = UIImage(named: "background")!
     60         //输出图片的字节数
     61         print(image.getSizeAsBytes())
     62         //输出图片的千字节数
     63         print(image.getSizeAsKilobytes())
     64         
     65         //通过图像对象的压缩方法,可以压缩图像的体积
     66         let newImage = UIImage(data: image.compressImage(rate: 0.5)!)!
     67         //在控制台输出压缩后的图像的千字节数
     68         print(newImage.getSizeAsKilobytes())
     69         
     70         //初始化一个图像视图对象,并设置图像视图对象的显示区域
     71         let imageView = UIImageView(x: 0, y: 0, w: 320, h: 568)
     72         //使用图像视图显示压缩后的图片
     73         imageView.image = newImage
     74         //将图像视图对象添加到根视图
     75         self.view.addSubview(imageView)
     76     }
     77 
     78     //添加一个方法,对图片进行裁切
     79     func cropImage()
     80     {
     81         //从项目中读取一张图片
     82         let image = UIImage(named: "Girl")!
     83         //在控制台输出图片的原始尺寸
     84         print(image.size)
     85         //通过图片对象的裁切方法,裁切指定区域的图片内容
     86         let croppedImage = image.croppedImage(CGRect(x: 140, y: 160, w: 200, h: 320))
     87         //在控制台输出图片在裁切后的尺寸
     88         print(croppedImage?.size as Any)
     89         
     90         //初始化一个图像视图对象,并是设置图像视图对象的显示区域。        
     91         let imageView = UIImageView(x: 60, y: 40, w: 200, h: 320)
     92         //该图像视图将被用来显示裁切后的图片
     93         imageView.image = croppedImage
     94         //将图像视图添加到根视图
     95         self.view.addSubview(imageView)
     96     }
     97     
     98     override func didReceiveMemoryWarning() {
     99         super.didReceiveMemoryWarning()
    100         // Dispose of any resources that can be recreated.
    101     }
    102 }
  • 相关阅读:
    修改host批量处理.bat
    当前标识(IIS APPPOOL如来官网)没有对“C:WindowsMicrosoft.NETFramework64v4.0.30319Temporary ASP.NET Files”的写访问权限。
    SQL Server 2005基础应用视频教程下载学习
    .netcore获取已注入的服务
    触发器设置递归
    Attention Is All You Need
    FreeSwitch LUA API —— Sessions
    扇贝背单词,增加单词快捷文本复制按钮 需要安装tampermonkey
    java G711 流式编码和解码方法
    Webrtc 介绍与Demo环境搭建
  • 原文地址:https://www.cnblogs.com/strengthen/p/10246601.html
Copyright © 2020-2023  润新知