绘制UIImage
来源:互联网 发布:飞升化身诀数据 编辑:程序博客网 时间:2024/06/05 05:02
创建单一颜色的UIImage
+(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;}创建特定形状的image :根据需要设置开始点坐标,连线形成特定图形,下面以气泡图为例
+ (UIImage *)bubbleImageWithColor:(UIColor *)color{ CGFloat wide = 100; CGFloat height = 30; UIGraphicsBeginImageContextWithOptions(CGSizeMake(wide, height), NO, 0); CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); CGContextRef context = UIGraphicsGetCurrentContext(); CGFloat radius = 6.0; //// Bezier Drawing UIBezierPath *bezierPath = [UIBezierPath bezierPath]; CGContextMoveToPoint(context, 10, height-10); CGContextAddLineToPoint(context,0,height); CGContextAddArcToPoint(context, wide-10, height, wide-10, 0, radius);//设置弧线的方法:三个点连线以radius为半径做切线 CGContextAddArcToPoint(context, wide-10, 0, 10, 0, radius); CGContextAddArcToPoint(context, 10, 0, 10, height, radius); [bezierPath closePath]; CGContextSaveGState(context); [color setFill]; [bezierPath fill]; CGContextRestoreGState(context); //// Cleanup CGColorSpaceRelease(colorSpace); UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image;}
效果图如下:
0 0
- 绘制UIImage
- 绘制UIImage
- UIImage 绘制椭圆
- UIImage上绘制文本的方法
- [IOS 开发] 为UIImage 绘制 毛玻璃效果
- 绘制阴影 优化 + UIImage 性能优化
- uiimage
- UIImage
- UIImage
- UIImage
- UIImage
- UIImage
- UIImage
- UIImage
- UIImage
- UIImage
- UIImage
- UIImage
- 算法题-回文数
- docker安装及其常用命令
- extjs动态显示图片
- 骄傲的代价 oj
- MySql的点点滴滴
- 绘制UIImage
- IE11不兼容console.info
- Android四大组件之Service
- HDU 2062 Bone Collector (01背包)
- Java_多态和内部类
- jQuery源码初探(2)
- 宏和函数
- 笔试面试算法经典--动态规划-最大子矩阵和(Java)
- c++调用dll动态链接库历程