您的位置:首页 > 产品设计 > UI/UE

更改UIImage颜色

2015-09-08 14:58 423 查看
利用image属性renderingModeUIImageRenderingModeAutomatic // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式。UIImageRenderingModeAlwaysOriginal // 始终绘制图片原始状态,不使用Tint Color。UIImageRenderingModeAlwaysTemplate // 始终根据Tint Color绘制图片,忽略图片的颜色信息。根据Tint Color修改颜色UIButton *clearButton = [[UIButtonalloc]initWithFrame:CGRectMake(0,0,44,44)];clearButton.tintColor =[UIColorblackColor];UIImage *image =[UIImageimageNamed:@"delete"];image=[image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];[clearButton setImage:imageforState:UIControlStateNormal];iOS7以上可用。也可以重写UIImage//改变图片颜色
- (UIImage *)imageWithColor:(UIColor *)color
{
UIGraphicsBeginImageContextWithOptions(self.size, NO, self.scale);
CGContextRefcontext = 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;
}
UIColor 转UIImage 根据上下文
- (UIImage*) createImageWithColor: (UIColor*) color
{
CGRect rect=CGRectMake(0,0, 1, 1);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return theImage;
}
UIImage转UIColor
[UIColor colorWithPatternImage:[UIImageimageNamed:@“bg.png"]]

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: