0
我想將已經具有Alpha通道(RGBA)的png圖像轉換爲黑白圖像。將圖像轉換爲黑白圖像,同時保留Alpha通道
我使用下面的類別是:
func convertToGrayScale() -> UIImage {
let imageRect:CGRect = CGRectMake(0, 0, self.size.width, self.size.height)
let colorSpace = CGColorSpaceCreateDeviceGray()
let width = self.size.width
let height = self.size.height
let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.None.rawValue)
let context = CGBitmapContextCreate(nil, Int(width), Int(height), 8, 0, colorSpace, bitmapInfo.rawValue)
CGContextDrawImage(context, imageRect, self.CGImage)
let imageRef = CGBitmapContextCreateImage(context)
let newImage = UIImage(CGImage: imageRef!)
return newImage
}
但是,當我改變CGImageAlphaInfo
比None
其他任何東西,我imageRef
返回nil,從而脫穎而出崩潰的應用程序。
有沒有辦法,還是我在嘗試一些不可能的事情?
請嘗試CoreImage篩選 您可以在蘋果的文檔搜索iOS的核心圖像過濾器的參考。 – Alex