iOS-改变矢量图的颜色

移动开发
设计师能给你切全套那是最好的,自己也省事。不过嘛,这个是有好处滴,可以节省app大小,可以省去按钮的高亮、选中等等图片。

[[148353]]

为啥要改变矢量图的颜色呢,直接叫设计师切个图不就好呢。

主要最近呢,设计师回家了,没办法只有一张图,我又懒的用ps。

就给自己弄了个课题。

其实也简单在ps中也不就是选中选区,填充颜色,然后保存。

在iOS也是差不多的。

  1. //UIImage+ImageColor.h 
  2. #import <UIKit/UIKit.h> 
  3. @interface UIImage (ImageColor) 
  4. /** 
  5.  *  修改矢量图颜色 
  6.  * 
  7.  *  @param      maskColor 修改颜色 
  8.  *  @return 
  9.  */ 
  10. - (UIImage *)imageMaskWithColor:(UIColor *)maskColor; 
  11. @end 
 
  1. //UIImage+ImageColor.m 
  2. #import "UIImage+ImageColor.h" 
  3. @implementation UIImage (ImageColor) 
  4. - (UIImage *)imageMaskWithColor:(UIColor *)maskColor { 
  5.     if (!maskColor) { 
  6.         return nil; 
  7.     } 
  8.  
  9.     UIImage *newImage = nil; 
  10.  
  11.     CGRect imageRect = (CGRect){CGPointZero,self.size}; 
  12.     UIGraphicsBeginImageContextWithOptions(imageRect.size, NO, self.scale); 
  13.  
  14.     CGContextRef context = UIGraphicsGetCurrentContext(); 
  15.     CGContextScaleCTM(context, 1.0, -1.0); 
  16.     CGContextTranslateCTM(context, 0.0, -(imageRect.size.height)); 
  17.  
  18.     CGContextClipToMask(context, imageRect, self.CGImage);//选中选区 获取不透明区域路径 
  19.     CGContextSetFillColorWithColor(context, maskColor.CGColor);//设置颜色 
  20.     CGContextFillRect(context, imageRect);//绘制 
  21.  
  22.     newImage = UIGraphicsGetImageFromCurrentImageContext();//提取图片 
  23.  
  24.     UIGraphicsEndImageContext(); 
  25.     return newImage; 
  26. @end 

总结:
设计师能给你切全套那是***的,自己也省事。
不过嘛,这个是有好处滴,可以节省app大小,可以省去按钮的高亮、选中等等图片。

责任编辑:倪明 来源: 简书
相关推荐

2015-06-04 10:40:20

VectorDrawaAndroid

2021-03-22 10:05:03

算法可视化大数据

2024-03-04 00:06:00

位图GIF矢量图

2019-09-10 15:20:26

Linux终端命令

2013-09-09 15:29:50

设计师图标集

2015-07-13 18:13:47

Xcode矢量图像代码片段

2023-11-08 11:00:56

Graphite开源

2013-07-23 14:07:13

矢量图标设计师图标集

2012-03-18 19:52:47

Web设计

2009-09-08 14:43:41

C# listbox

2024-02-20 08:00:00

2023-04-13 07:45:15

WebGL片元着色器

2024-04-08 10:30:58

模型AI

2023-10-11 13:23:00

数据AI

2013-07-25 14:04:11

iOS开发学习UITableView

2021-03-04 15:23:35

工具代码开发

2021-12-24 14:17:11

SVG平安夜祝福动画

2010-09-10 13:40:09

DIV背景

2023-05-29 14:07:00

WebHaikei应用程序

2024-03-11 08:27:43

前端图片格式
点赞
收藏

51CTO技术栈公众号