iOS 5.x 中是否有一种简单的方法(或内置库)可以使 UIImage 去饱和?这是我目前的做法:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextTranslateCTM(context, 0.0, self.bounds.size.height); // flip image right side up
CGContextScaleCTM(context, 1.0, -1.0);
CGContextDrawImage(context, rect, self.image.CGImage);
CGContextSetBlendMode(context, kCGBlendModeSaturation);
CGContextClipToMask(context, self.bounds, image.CGImage); // restricts drawing to within alpha channel
CGContextSetRGBFillColor(context, 0.0, 0.0, 0.0, desaturation);
CGContextFillRect(context, rect);
CGContextRestoreGState(context); // restore state to reset blend mode
这似乎比我预期的要复杂一些。还有比这更简单的方法吗?
我在考虑核心图像,但我似乎找不到一个具体的例子来说明如何使用它来去饱和图像。