更改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"]]
相关文章推荐
- iOS小结(四) GPUImage加速图像处理
- 03_常用UI控件
- How To Use NSOperations and NSOperationQueues
- UIScrollView判断用户划到底部 (可用于实现loading more)
- 01_iOS开发入门_UI程序的执行流程
- UE3 展开光照贴图的 UV
- 多线程之NSOpertionQueue操作队列
- fuel6.1搭建openstack
- druid连接池配置
- UIMenuController的使用
- java 之DelayQueue实际运用示例
- 2015年9月05日【任务计划使用和练习】-JY1506402-19+liuhui880818
- 精确的时间计时--QueryPerformanceCounter
- 利用QueryPerformanceCounter可以测试CPU性能
- 循环里面的continue
- Installation failed due to invalid URI!问题的解决
- Implement Stack using Queues
- [CodeForces 490B]Queue[实现]
- kendo ui 单击取消编辑数据grid减少的原因和治疗方法的数据
- javamail只接收新邮件的方法(邮件的UID与MessageID是有区别的)