我从服务器接收图像,然后根据用户 Select 的 colored颜色 ,图像 colored颜色 将发生变化.

我try 了以下方法:

_sketchImageView.image = [_sketchImageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
[_sketchImageView setTintColor:color];

我得到了与我的目标相反的结果(UIImage外部的白色是用所选的 colored颜色 着色的).

出什么事了?

在这个问题上我也需要这样做,提供的解决方案不能解决我的问题.

推荐答案

试着为自己塑造新形象

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;

并使用它.

祝你好运

======= UPDATE =======

此解决方案将改变所有像素图像的 colored颜色 .

我们有一本书的图片:http://pngimg.com/upload/book_PNG2113.png

在此处输入图像描述

运行上述代码后(exp:TintColor为红色).我们有:

在此处输入图像描述

所以:how your image is depends on how you designed it

Objective-c相关问答推荐

[NSNull new]和[NSNull NULL]有什么不同?

如何处理 Xcode 警告没有以前的函数原型......?

在Objective-C中从类名的NSString创建对象

dispatch_semaphore_dispose 上的 EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)

UITextView 禁用文本 Select

以编程方式创建 UITableView

iOS - 从应用程序获取 CPU 使用率

如何在 iPhone 中将 NSData 转换为字节数组?

如何将 .plist 文件中的数据 struct 读入 NSArray

UIViewController 的 prefersStatusBarHidden 不起作用

Objective-C 中的 super 到底是什么?

UIKeyboardBoundsUserInfoKey 已弃用,改用什么?

Objective C 中的调用方法或发送消息

100% 不透明度 UILabel 超过 50% 不透明度背景(UIView?)

为什么 detailTextLabel 不可见?

为整个 iPhone / iPad 应用程序设置背景图像

iPhone:如何确定线程是否是主线程?

请求访问相机胶卷的权限

围绕其中心旋转 UIView 保持其大小

Objective C 消息分发机制