1

我正在开发一个与gestureRecognizer 一起使用的应用程序。
使用手势可以选择 UIImage(例如 rectangle.png),并且可以使用 UIPopoverView 通过选择所选图像的颜色来更改该图像的颜色。

该图像位于 UIImageView 中,我认为最好的解决方案是掩盖该图像并设置具有 dame 大小和框架的彩色图像。

这是正确的方法吗?如何优化我的方法?哪个可能是此要求的最佳实践?

4

1 回答 1

1
 (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;
}
于 2013-01-16T12:11:18.777 回答