我正在开发一个与gestureRecognizer 一起使用的应用程序。
使用手势可以选择 UIImage(例如 rectangle.png),并且可以使用 UIPopoverView 通过选择所选图像的颜色来更改该图像的颜色。
该图像位于 UIImageView 中,我认为最好的解决方案是掩盖该图像并设置具有 dame 大小和框架的彩色图像。
这是正确的方法吗?如何优化我的方法?哪个可能是此要求的最佳实践?
我正在开发一个与gestureRecognizer 一起使用的应用程序。
使用手势可以选择 UIImage(例如 rectangle.png),并且可以使用 UIPopoverView 通过选择所选图像的颜色来更改该图像的颜色。
该图像位于 UIImageView 中,我认为最好的解决方案是掩盖该图像并设置具有 dame 大小和框架的彩色图像。
这是正确的方法吗?如何优化我的方法?哪个可能是此要求的最佳实践?
(UIImage *)maskImage:(UIColor *)maskColor
{
CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, 0, rect.size.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextClipToMask(context, rect, self.CGImage);
CGContextSetFillColorWithColor(context, maskColor.CGColor);
CGContextFillRect(context, rect);
UIImage *smallImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return smallImage;
}