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

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-cgfqalff-ky.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目錄:[Swift]通天遁地Swiftios

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

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

點擊【Podfile】,查看安裝配置文件。swift

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】app

如今開始編寫代碼,依次使用圖像類型的各個擴展方法。ide

  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 }
相關文章
相關標籤/搜索