一,ImageHelper介紹 ImageHelper(原來叫AFImageHelper)是使用Swift語言編寫的處理圖檔的類庫,通過對 UIImage 和 UIImageView 的擴充。使其增加了對圖檔的壓縮、顔色、漸變、裁剪等操作方法,以及支援使用緩存從網站上擷取圖檔。
二,ImageHelper的配置 (1)從GitHub上把最新代碼下載下傳下來,位址: https://github.com/melvitax/ImageHelper (2)将 ImageHelper.swift、 ImageVIewExtension.swift 添加到項目中即可
三,UIImageView擴充相關的使用樣例
1,讓UIImageView支援直接通過URL位址擷取圖檔
(1)可以設定是否需要緩存圖檔(預設是緩存)。是的話,每次網絡請求時,會先自動判斷下是否本地有緩存圖檔,如果有則直接使用緩存圖檔。對于新加載下來的圖檔則會緩存起來,供下次使用。
1 | |
(2)支援設定占位符圖檔( placeholder),在網絡圖檔未加載完畢的時候顯示。
1 2 | |
(3)還可以設定圖檔加載完畢後是否需要淡入顯示(預設是true)。
1 2 3 | |
(4)可以在圖檔加載成功的回調函數中做一些後續處理。
1 2 3 4 5 6 7 | |
四,UIImage擴充相關的使用樣例
1,通過URL位址擷取圖檔
同 UIImageView 一樣, UIImage 也可以通過URL擷取網絡圖檔。同樣支援占位符圖檔,圖檔緩存,加載完畢回調。
(其實UIImageView的url圖檔加載内部調用的就是 UIImage.image(fromURL: url) 方法)
1 2 3 4 5 6 7 | |
2,通過顔色生成UIImage
(1)使用純色
1 | |
(2)使用線性漸變色
1 2 | |
(3)使用放射性漸變色
1 2 3 | |
3,給圖檔覆寫一層漸變色
下面給原始的UIImage添加一個半透明的黃褐色漸變,使圖檔有種添加老照片濾鏡的效果。 (預設的混合模式是 CGBlendMode.Normal ,也可以設定成其他的 blendMode )
1 2 3 | |
4,通過Text文本生成UIImage
除了設定文字内容,還可以設定文字大小,文字顔色和背景顔色。
1 2 3 4 5 6 7 8 9 10 | |
5,對任意UIView對象截圖(Screenshot)
1 2 3 | |
6,透明層相關(alpha layer)
1 2 3 4 5 | |
7,給圖檔增加外邊距(添加透明邊框)
下面樣例上下兩個imageView的尺寸是一樣的,樣式都是Aspect Fit。下面一個使用的image添加了透明邊距。
1 2 | |
8,圖檔裁剪
(1)自定義裁剪位置和尺寸
1 2 3 4 | |
(2)自動裁剪成正方形
1 2 | |
9,調整尺寸大小
1 2 | |
由于不同裝置的縮放比例不同,可以通過 screen scale 乘以固定的寬高的辦法動态設定尺寸,保證各種裝置下顯示正常,不會模糊。(對于 padding、 borders的設定也可以用此方法)
1 2 3 | |
10,生成圓角或圓形圖檔
(1)圓角圖檔
1 | |
(2)帶邊框的圓角圖檔
1 2 | |
(3)圓形圖檔
1 | |
(4)帶邊框的圓形圖檔
1 2 | |
原文出自: www.hangge.com 轉載請保留原文連結: http://www.hangge.com/blog/cache/detail_975.html