CGBlendMode

R = D*Sa :目标色 = 原色*目标色的透明度
R--result
S--原色
D--目标色
RaSaDa分别为三种颜色的透明度


- (UIImage *)changImageColorWithImage:(UIImage *)image  color:(UIColor *)targetColor blendModel:(CGBlendMode)mode
{
    //获取画布
    UIGraphicsBeginImageContext(image.size);
    //画笔沾取颜色
    [targetColor setFill];
    
    CGRect drawRect = CGRectMake(0, 0, image.size.width, image.size.height);
    UIRectFill(drawRect);
    [image drawInRect:drawRect blendMode:mode alpha:1];
    //获取图片
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    return newImage;
 }
原图

设置 blendMode 为 kCGBlendModeDestinationIn targetColor为RGB(255,115,25)

转换后的图片
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近这段时间在搞openGL ES处理视频和图像,要进行纹理混合,重新温习了一下大学时候的课本,找了一些资料,把一...
    北冥有猫其名为喵阅读 33,939评论 5 19
  • 滤镜效果大家肯定都知道,毕竟现在相机这么牛,一般都有这个功能。不废话,开搞! 所谓滤镜效果,就是对一张图像的颜色进...
    其勇勇阅读 539评论 0 1
  • 时间:2014年4月14日-4月29日 路线:上海---迪拜---伊斯坦布尔---格雷梅---安塔利亚---伊斯坦...
    out曼阅读 1,500评论 0 3
  • 今天看到范韬(舜天先生的儿子),我心里面很欣喜,觉得这个男人身上展露出先生的几分气质,甚至有种幻觉,范韬几年之后就...
    每天進步一點點阅读 452评论 0 0
  • “赶紧找个对象吧,你也老大不小了,自己老单着也不是个事儿。”闺蜜再次提起这个话题,她还是一如既往漫不经心的应着,没...
    明静说阅读 570评论 1 2