iOS- 改變矢量圖的顏色

為啥要改變矢量圖的顏色呢,直接叫設(shè)計師切個圖不就好呢。

主要最近呢,設(shè)計師回家了,沒辦法只有一張圖,我又懶的用ps。

就給自己弄了個課題。

其實也簡單在ps中也不就是選中選區(qū),填充顏色,然后保存。

在iOS也是差不多的。

//UIImage+ImageColor.h
#import <UIKit/UIKit.h>
@interface UIImage (ImageColor)
/**
 *  修改矢量圖顏色
 *
 *  @param      maskColor 修改顏色
 *  @return
 */
- (UIImage *)imageMaskWithColor:(UIColor *)maskColor;
@end
//UIImage+ImageColor.m
#import "UIImage+ImageColor.h"
@implementation UIImage (ImageColor)
- (UIImage *)imageMaskWithColor:(UIColor *)maskColor {
    if (!maskColor) {
        return nil;
    }
    
    UIImage *newImage = nil;
    
    CGRect imageRect = (CGRect){CGPointZero,self.size};
    UIGraphicsBeginImageContextWithOptions(imageRect.size, NO, self.scale);
    
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextScaleCTM(context, 1.0, -1.0);
    CGContextTranslateCTM(context, 0.0, -(imageRect.size.height));
   
    CGContextClipToMask(context, imageRect, self.CGImage);//裁剪蒙版覆蓋
    CGContextSetFillColorWithColor(context, maskColor.CGColor);//設(shè)置顏色
    CGContextFillRect(context, imageRect);//繪制
    
    newImage = UIGraphicsGetImageFromCurrentImageContext();//提取圖片
    
    UIGraphicsEndImageContext();
    return newImage;
}
@end

總結(jié):
設(shè)計師能給你切全套那是最好的,自己也省事。
不過嘛,這個是有好處滴,可以節(jié)省app大小,可以省去按鈕高亮、選中等等圖片。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容