内容简介:在做项目的时候碰到了一个需求,就是设计做的图片的颜色和需求不符合,需要把图片的颜色改变一下。下面是改变图片颜色的方法。首先我们创建一个UIImage的Category,名为ChangeColor。这个名为ChangeColor的Category只有一个方法,即使用方法:
在做项目的时候碰到了一个需求,就是设计做的图片的颜色和需求不符合,需要把图片的颜色改变一下。下面是改变图片颜色的方法。
首先我们创建一个UIImage的Category,名为ChangeColor。这个名为ChangeColor的Category只有一个方法,即 -(UIImage*)imageChangeColor:(UIColor*)color 。这个方法的具体实现如下:
#import "UIImage+ChangeColor.h"@implementation UIImage (ChangeColor)//绘图-(UIImage*)imageChangeColor:(UIColor*)color
{ //获取画布
UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0f); //画笔沾取颜色
[color setFill];
CGRect bounds = CGRectMake(0, 0, self.size.width, self.size.height); UIRectFill(bounds); //绘制一次
[self drawInRect:bounds blendMode:kCGBlendModeOverlay alpha:1.0f]; //再绘制一次
[self drawInRect:bounds blendMode:kCGBlendModeDestinationIn alpha:1.0f]; //获取图片
UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return img;
}@end
使用方法:
首先我们看一下不改变颜色时,真实的图片颜色
UIImage *image = [UIImage imageNamed:@"qr-code"];UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; [imageView setFrame:CGRectMake(100, 100, 100, 100)]; [self.view addSubview:imageView];
得到的图片:
然后我们改变图片的颜色为绿色:
UIImage *image = [UIImage imageNamed:@"qr-code"];UIImageView *imageView = [[UIImageView alloc] initWithImage:[image imageChangeColor:[UIColor blueColor]]]; [imageView setFrame:CGRectMake(100, 100, 100, 100)]; [self.view addSubview:imageView];
运行结果:
作者:雪山飞狐_91ae
链接:https://www.jianshu.com/p/10047407463c
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 像滤镜一样改变字体颜色
- 利用CSS改变图片颜色的多种方法!
- CSS教程:图片使用混合模式和颜色叠加filter滤镜,改变PNG图标颜色
- 用纯CSS改变html radio/checkbox默认背景颜色样式
- Flex 自定义DataGrid实现根据条目某一属性值改变背景颜色
- 颜色搭配及颜色科学
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
程序员的算法趣题
[ 日] 增井敏克 / 绝 云 / 人民邮电出版社 / 2017-7 / 55.00元
本书是一本解谜式的趣味算法书,从实际应用出发,通过趣味谜题的解谜过程,引导读者在愉悦中提升思维能力、掌握算法精髓。此外,本书作者在谜题解答上,通过算法的关键原理讲解,从思维细节入手,发掘启发性算法新解,并辅以Ruby、JavaScript等不同语言编写的源代码示例,使读者在算法思维与编程实践的分合之间,切实提高编程能力。 本书适合已经学习过排序、搜索等知名算法,并想要学习更多有趣算法以提升编程技巧......一起来看看 《程序员的算法趣题》 这本书的介绍吧!