1
Görüntüleri gri tonlamaya dönüştürmek için kullanıyorum kod budur. Ben siyah arka planlar görmek istemiyoruz Resmi gri tonlamaya dönüştürür alfa
:
func convertToGrayScale(image: UIImage) -> UIImage
{
let imageRect:CGRect = CGRectMake(0, 0, image.size.width, image.size.height)
let colorSpace = CGColorSpaceCreateDeviceGray()
let width = image.size.width
let height = image.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, image.CGImage)
let imageRef = CGBitmapContextCreateImage(context)
let newImage = UIImage(CGImage: imageRef!)
return newImage
}
Bu
sonucudur. Bunu nasıl düzeltebilirim?Düzenleme: Bunu, bu kodla yapmayı denedim, işe yarıyor, ancak artık resimlerin yüklenmesi 3 saniye sürüyor.
func convertToGrayScale(image: UIImage) -> UIImage {
let cgImage = image.CGImage!
let beginImage = CIImage(CGImage: cgImage)
let filter = CIFilter(name: "CIColorControls")!
filter.setValue(beginImage, forKey: kCIInputImageKey)
filter.setValue(0, forKey: kCIInputSaturationKey)
return UIImage(CIImage: filter.outputImage!)
}