2012-10-23 122 views
1

我正在使用與gestureRecognizer一起使用的應用程序。
使用手勢可以選擇UIImage(如rectangle.png),並且可以使用UIPopoverView通過爲所選圖像選擇一種顏色來更改該圖像的顏色。掩蓋UIImage並設置彩色圖像

此圖像位於UIImageView中,我認爲最好的解決方案是屏蔽該圖像並設置帶有聖母院大小和框架的彩色圖像。

這是正確的方式嗎?我怎樣才能優化我的方法? 這可能是此要求的最佳做法?

回答

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; 
}