您的位置:首页 > 移动开发 > IOS开发

iOS将颜色转换image方法

2015-12-18 16:44 651 查看
http://blog.csdn.net/lilinoscar/article/details/46827093

UIButton设置背景图片时,是需要一张图片才可以。但是我又想直接通过UIColor来设置,那怎么办?

有个方法是可以将UIColor转化成UIImage对象,可以画出图片,不用让美工MM去设计一张图片,省时间,实际项目还是做成图片的好。


方法

//颜色转换图片

[objc] view
plaincopy

+(UIImage*) createImageWithColor:(UIColor*) color  

{  

    CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);  

    UIGraphicsBeginImageContext(rect.size);  

    CGContextRef context = UIGraphicsGetCurrentContext();  

    CGContextSetFillColorWithColor(context, [color CGColor]);  

    CGContextFillRect(context, rect);  

    UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();  

    UIGraphicsEndImageContext();  

    return theImage;  

}  


使用

//调用方式

[objc] view
plaincopy

[registerButton setBackgroundImage:[self createImageWithColor:UIColorFromRGB(0xff584e)] forState:UIControlStateHighlighted];  


扩展知识

0xff584e相当于css样式文件中的ff584e,在IOS中我们需要在前面加个0x,RGB颜色转换 (16进制=》10进制),需要用到方法UIColorFromRGB

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