1. 程式人生 > >[Swift通天遁地]五、高級擴展-(8)ImageView(圖像視圖)的各種擴展方法

[Swift通天遁地]五、高級擴展-(8)ImageView(圖像視圖)的各種擴展方法

image() 比例 ted 演示 swift tro code 第三方類 控制臺輸出

本文將演示圖像和圖像視圖在下載、壓縮、裁剪方面的擴展。

首先確保在項目中已經安裝了所需的第三方庫。

點擊【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 }

[Swift通天遁地]五、高級擴展-(8)ImageView(圖像視圖)的各種擴展方法