本文将演示图像和图像视图在下载、压缩、裁剪方面的扩展。
首先确保在项目中已经安装了所需的第三方库。
点击【Podfile】,查看安装配置文件。
1 platform :ios,‘12.0‘2 use_frameworks!3 4 target ‘DemoApp‘ do5 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,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,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,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 }总结
以上是内存溢出为你收集整理的[Swift通天遁地]五、高级扩展-(8)ImageView(图像视图)的各种扩展方法全部内容,希望文章能够帮你解决[Swift通天遁地]五、高级扩展-(8)ImageView(图像视图)的各种扩展方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)