是否可以更改图像的颜色?
Posted
技术标签:
【中文标题】是否可以更改图像的颜色?【英文标题】:Is it possible to change the color of the image? 【发布时间】:2012-07-09 07:01:15 【问题描述】:不知道是不是很傻,
我有一张图片将添加到UIImageView
或UIButton
。该图像包含一些红色的文本,背景是黑色的。是否可以将 BG 颜色和文本颜色更改为自定义颜色。这可能吗??
【问题讨论】:
您是否正在寻找 [this link][1] 中的那个? [1]:***.com/questions/1117211/… 它就像一个色调。它实际上并没有改变颜色吗? 【参考方案1】:如果在考虑 George 的回答后,您仍需要修改颜色,您可以尝试使用 Core Image 滤镜。
以下示例将名为screenImage
的UIImageView
的色调调整为angle
中给定的角度。
- (void)rebuildFilterChain:(double)angle
UIImage *uiImage = [UIImage imageNamed:@"background.jpg"];
CIImage *image = [CIImage imageWithCGImage:[uiImage CGImage]];
CIFilter *hueAdjust = [CIFilter filterWithName:@"CIHueAdjust"];
[hueAdjust setDefaults];
[hueAdjust setValue:image forKey: @"inputImage"];
[hueAdjust setValue: [NSNumber numberWithFloat:angle] forKey: @"inputAngle"];
self.resultImage = [hueAdjust valueForKey: @"outputImage"];
CGImageRef cgImage = [context createCGImage:resultImage fromRect:resultImage.extent];
screenImage.image = [UIImage imageWithCGImage:cgImage];
CGImageRelease(cgImage);
Core Image 过滤器的完整列表是on the Apple site。
【讨论】:
【参考方案2】:你为什么使用图片?如果您有背景颜色,则意味着您使用的是纯色……实际上不是图像。因此,您可以设置按钮的背景颜色以及标题颜色。如果您这样做只是为了获得圆角,请不要这样做。
只需import <QuartzCore/QuartzCore.h>
并这样做:
button.layer.cornerRadius = 8;
button.layer.masksToBounds = TRUE;
希望这会有所帮助。
干杯!
【讨论】:
谢谢。实际上,我有一张由高度为 50 的文本(如闪烁)组成的图像。而且我不知道他们使用的是哪种字体。看起来很时髦。该文本颜色为红色。我在想,是否可以更改该图像中的特定文本颜色。那是在 UIImageView 中的地方。以上是关于是否可以更改图像的颜色?的主要内容,如果未能解决你的问题,请参考以下文章