歡迎加入QQ討論群258996829

Swift 處理圖片的類庫 AFImageHelper

發(fā)布時間:2016-03-27 22:34  回復(fù):0  查看:6361  感興趣:34  贊:2   最后回復(fù):2016-03-27 22:34  

Swift 處理圖片的類庫,Swift 實現(xiàn) UIImage 和 UIImageView 的擴展。可以對圖片的壓縮、顏色、漸變、裁剪等操作進行了擴展,以及具有緩存機制的在線圖片獲取。

Swift 處理圖片的類庫 AFImageHelper


UIImageView 擴展

通過URL獲取圖片:

// Fetches an image from a URL. If caching is set, it will be cached by NSCache for future queries. The cached image is returned if available, otherise the placeholder is set. When the image is returned, the closure gets called.
func imageFromURL(url: String, placeholder: UIImage, fadeIn: Bool = true, closure: ((image: UIImage?)
UIImage 擴展

顏色:

// Creates an image from a solid color
UIImage(color:UIColor, size:CGSize)

// Creates an image from a gradient color
UIImage(gradientColors:[UIColor], size:CGSize) 

// Applies a gradient overlay to an image
func applyGradientColors(gradientColors: [UIColor], blendMode: CGBlendMode) -> UIImage 

// Creates an image from a radial gradient
UIImage(startColor: UIColor, endColor: UIColor, radialGradientCenter: CGPoint, radius:Float, size:CGSize)
文本:
// Creates an image with a string of text
UIImage(text: String, font: UIFont, color: UIColor, backgroundColor: UIColor, size:CGSize, offset: CGPoint)
截圖:
// Creates an image from a UIView 
UIImage(fromView view: UIView)
透明和填充:
// Returns true if the image has an alpha layer
func hasAlpha() -> Bool

// Returns a copy(if needed) of the image with alpha layer 
func applyAlpha() -> UIImage? 

// Returns a copy of the image with a transparent border of the given size added around its edges
func applyPadding(padding: CGFloat) -> UIImage?
裁剪和縮放:
// Crops an image to a new rect
func crop(bounds: CGRect) -> UIImage?

// Crops an image to a centered square
func cropToSquare() -> UIImage? {

// Resizes an image
func resize(size:CGSize, contentMode: UIImageContentMode = .ScaleToFill) -> UIImage? 
圓和圓角:
// Rounds corners of an image
func roundCorners(cornerRadius:CGFloat) -> UIImage?

// Rounds corners of an image with border
func roundCorners(cornerRadius:CGFloat, border:CGFloat, color:UIColor) -> UIImage?

// Rounds corners to a circle
func roundCornersToCircle() -> UIImage?

// Rounds corners to a circle with border
func roundCornersToCircle(border border:CGFloat, color:UIColor) -> UIImage?
邊框:
// Adds a border
func applyBorder(border:CGFloat, color:UIColor) -> UIImage?
屏幕像素密度:
// To create an image that is Retina aware, use the screen scale as a multiplier for your size. You should also use this technique for padding or borders.
let width = 140 * UIScreen.mainScreen().scale
let height = 140 * UIScreen.mainScreen().scale
let image = UIImage(named: "myImage")?.resize(CGSize(width: width, height: height))

相關(guān)開源代碼

您還未登錄,請先登錄

熱門帖子

最新帖子

?