本文将演示图像和图像视图在下载、压缩、裁剪方面的扩展。
首先确保在项目中已经安装了所需的第三方库。
点击【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 }
原文地址:https://www.cnblogs.com/strengthen/p/10246601.html
时间: 2024-10-08 13:15:51