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

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

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

点击【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-07-30 15:17:24

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

[Swift通天遁地]五、高级扩展-(1)快速检测设备属性:版本、类型、屏幕尺寸

本文将演示如何快速检测设备的各种属性. 首先确保在项目中已经安装了所需的第三方库. 点击[Podfile],查看安装配置文件. 1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod "Device", '~> 2.0.0' 7 end 根据配置文件中的相关配置,安装第三方库. 然后点击打开[D

[Swift通天遁地]六、智能布局-(5)给视图添加Align(对齐)和Fill(填充的约束以及Label的约束

本文将演示如何给视图添加Align(对齐)和Fill(填充的约束以及Label的约束. 锚点默认位于视图中心点的位置. 首先确保在项目中已经安装了所需的第三方库. 点击[Podfile],查看安装配置文件. 1 platform :ios, ‘12.0’ 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'Neon' 7 end 根据配置文件中的相关配

[Swift通天遁地]四、网络和线程-(13)创建一个Socket客户端

请点击Socket服务端文章:[Swift通天遁地]四.网络和线程-(14)创建一个Socket服务端 本文将演示Socket(套接字)客户端的使用. 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 在Github中下载项目:[SwiftSocket] 在[Source]文件夹,按下[Shift]选择多个文件. [yudpsocket.c] [ytcpsocket.c] [UDPClient.swift] [TCPClient.swift] [Swif

[Swift通天遁地]八、媒体与动画-(10)在项目中播放GIF动画

本文将演示使用第三方类库播放GIF动画. 首先确保已经安装了所需的第三方类库.双击查看安装配置文件[Podfile] 1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'SwiftGifOrigin', '~> 1.6.1' 7 end 根据配置文件中的相关设置,安装第三方类库. 安装完成之后,双击打开项

Android学习笔记-ImageView(图像视图)

原文来自:http://www.runoob.com/w3cnote/android-tutorial-imageview.html 本节引言: 本节介绍的UI基础控件是:ImageView(图像视图),见名知意,就是用来显示图像的一个View或者说控件! 官方API:ImageView;本节讲解的内容如下: ImageView的src属性和blackground的区别: adjustViewBounds设置图像缩放时是否按长宽比 scaleType设置缩放类型 最简单的绘制圆形的ImageVi

android-UI组件实例大全(六)------ImageView图像视图

图像视图:ImageView 继承view类,用于在屏幕上显示任何Drawable对象,通常用来显示图片: 这里的话我们介绍一些比较常用的属性: Path 1: android:adjustViewBounds:设置ImageView是否调整自己的边界来保持所显示图片的长宽比 !!!下面的这两个属性需要adjustViewBounds为ture,不然是不起作用的哦! android:maxHeight:设置ImageView的最大高度 android:maxWidth:设置ImageView的最

ImageView(图像视图)

本节引言: 本节介绍的UI基础控件是:ImageView(图像视图),见名知意,就是用来显示图像的一个View或者说控件! 官方API:ImageView;本节讲解的内容如下: ImageView的src属性和blackground的区别: adjustViewBounds设置图像缩放时是否按长宽比 scaleType设置缩放类型 最简单的绘制圆形的ImageView 1.src属性和background属性的区别: 在API文档中我们发现ImageView有两个可以设置图片的属性,分别是:sr

[Swift通天遁地]九、拔剑吧-(14)创建更美观的景深视差滚动效果

景深视差经常被应用在游戏项目中. 本文将演示创建更美观的景深视差滚动效果. 首先确保已经安装了所需的第三方类库.双击查看安装配置文件[Podfile] 1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'Presentation' 7 end 根据配置文件中的相关设置,安装第三方类库. 安装完成之后,双击

[Swift通天遁地]八、媒体与动画-(7)实现多个动画的顺序播放效果

本文将演示使用第三方类库,实现多个动画的顺序播放效果. 首先确保已经安装了所需的第三方类库.双击查看安装配置文件[Podfile] 1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'Spring', :git => 'https://github.com/MengTo/Spring.git' 7 end