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"]]
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进制),需要用到方法UIColorFromRGBUIColor 转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第三方开源库和工具 专辑
- iOS判断当前设备旋转方向
- iOS学习笔记52-iOS 关于TestFlight的使用
- iOS如何将你的程序打包成ipa
- iOS 方法objc_msgSend()编译不通过
- iOS中对copy与mutableCopy的理解
- iOS中写一个完整的单例
- iOS懒加载模式
- Ios的nil,Null,NSNull的使用
- ios触摸事件二 :事件传递
- iOS中assign、copy 、retain等关键字的含义
- iOS中常用的数据类型转换
- IOS pod使用笔记
- IOS pod使用笔记
- IOS pod使用笔记
- 选择手机图片上传&PHIMageManager
- iOS使用AVFoundation实现二维码扫描
- iOS 导出证书.p12文件
- iOSpush到某个页面然后跳转导航栏指定页面
- iOS 开发、测试、生产的描述文件(配置文件)