我正在从服务器接收图像,然后根据用户选择的颜色,图像颜色将被更改。
我尝试了以下方法:
_sketchImageView.image = [_sketchImageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
[_sketchImageView setTintColor:color];
我的目标与我的目标相反(UIImage 外部的白色用所选颜色着色)。
出了什么问题?
我需要在这个问题上做同样的事情,提供的解决方案不能解决我的问题。 How can I change image tintColor in iOS and WatchKit
最佳答案
尝试为自己生成新图像
UIImage *newImage = [_sketchImageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
UIGraphicsBeginImageContextWithOptions(image.size, NO, newImage.scale);
[yourTintColor set];
[newImage drawInRect:CGRectMake(0, 0, image.size.width, newImage.size.height)];
newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
_sketchImageView.image = newImage;
然后使用它。
祝你好运
======= 更新 =======
此解决方案将仅改变所有像素图像的颜色。
示例:我们有一个图书图片:http://pngimg.com/upload/book_PNG2113.png
并且在运行上面的代码之后(exp: TintColor
是 RED)。我们有:
SO:您的图像如何取决于您的设计方式
关于ios - 如何更改图像 tintColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28427935/