UIImage修改圖片顏色
阿新 • • 發佈:2019-01-04
首先,我們放個正常的圖片.這個圖片應該是從百度地圖sdk裡取得
-(void)build { self.view.backgroundColor = [UIColor blackColor]; MyButton *button = [[MyButton alloc] initWithFrame:CGRectMake(55, 55, 100, 50)]; [button setTitle:@"測試" forState:UIControlStateNormal]; UIImage *buttonImage = [UIImage imageNamed:@"dizhi"]; [button setImage:buttonImage forState:UIControlStateNormal]; [self.view addSubview:button]; }
改變圖片顏色程式碼
// // UIImage+Developer.m // Test // // Created by XuTianyu on 16/3/3. // Copyright © 2016年 lakala. All rights reserved. // #import "UIImage+Developer.h" @implementation UIImage (Developer) /** * 重新繪製圖片 * * @param color 填充色 * * @return UIImage */ - (UIImage *)imageWithColor:(UIColor *)color { UIGraphicsBeginImageContextWithOptions(self.size, NO, self.scale); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextTranslateCTM(context, 0, self.size.height); CGContextScaleCTM(context, 1.0, -1.0); CGContextSetBlendMode(context, kCGBlendModeNormal); CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height); CGContextClipToMask(context, rect, self.CGImage); [color setFill]; CGContextFillRect(context, rect); UIImage*newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; } @end
剛才設定button圖片的話改成
[button setImage:[buttonImage imageWithColor:[UIColor blueColor]]forState:UIControlStateNormal];
執行看效果