画线
来源:互联网 发布:数据库中的模式 编辑:程序博客网 时间:2024/05/01 01:48
- (void)viewDidLoad { [super viewDidLoad]; UIImageView *imageView=[[UIImageView alloc] initWithFrame:self.view.frame]; [self.view addSubview:imageView]; self.view.backgroundColor=[UIColor blueColor]; UIGraphicsBeginImageContext(imageView.frame.size); [imageView.image drawInRect:CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height)]; CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); //边缘样式 CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 15.0); //线宽 CGContextSetAllowsAntialiasing(UIGraphicsGetCurrentContext(), YES); CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1.0, 0.0, 0.0, 1.0); //颜色 CGContextBeginPath(UIGraphicsGetCurrentContext()); CGContextMoveToPoint(UIGraphicsGetCurrentContext(), 100, 100); //起点坐标 CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), 200, 100); //终点坐标 CGContextStrokePath(UIGraphicsGetCurrentContext()); imageView.image=UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); }
2.获取当前Context画线方法:(未主动创建path)
CGContextRef ctx = UIGraphicsGetCurrentContext();//获取当前ctx
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(ctx, 15.0); //线宽
CGContextSetAllowsAntialiasing(ctx, YES);
CGContextSetRGBStrokeColor(ctx, 1.0, 0.0, 0.0, 1.0); //颜色
CGContextBeginPath(ctx);
CGContextMoveToPoint(ctx, 100, 100); //起点坐标
CGContextAddLineToPoint(ctx, 200, 100); //终点坐标
CGContextStrokePath(ctx);
其他画线://画两条射线
// 创建一个Path句柄
CGMutablePathRef pathRef = CGPathCreateMutable();
// 初始化该path到一个初始点
CGPathMoveToPoint(pathRef, &CGAffineTransformIdentity, 100.0f, 0.0f);
// 添加一条直线,从初始点到该函数指定的坐标点
CGPathAddLineToPoint(pathRef, &CGAffineTransformIdentity, 150.0f, 100.0f);
CGPathMoveToPoint(pathRef, &CGAffineTransformIdentity, 100.0f, 0.0f);
CGPathAddLineToPoint(pathRef, &CGAffineTransformIdentity, 100.0f, 150.0f);
CGPathCloseSubpath(pathRef);
// 关闭该path
CGPathCloseSubpath(pathRef);
// 将此path添加到Quartz上下文中
CGContextAddPath(ctx, pathRef);
// 对上下文进行描边
CGContextStrokePath(ctx);
//画三角形
//CGMutablePathRef pathRef = CGPathCreateMutable();
// 初始化该path到一个初始点
CGPathMoveToPoint(pathRef, &CGAffineTransformIdentity, 0.0f, 0.0f);
// 添加一条直线,从初始点到该函数指定的坐标点
CGPathAddLineToPoint(pathRef, &CGAffineTransformIdentity, 50.0f, 100.0f);
CGPathAddLineToPoint(pathRef, &CGAffineTransformIdentity, 100.0f, 50.0f);
// 关闭该path
CGPathCloseSubpath(pathRef);
// 关闭该path
CGPathCloseSubpath(pathRef);
// 将此path添加到Quartz上下文中
CGContextAddPath(ctx, pathRef);
// 对上下文进行描边
CGContextStrokePath(ctx);
- 画线
- 画线
- 画线
- 画线
- 画线
- 画线
- 画线
- mapx 画线
- Arcgis 画线
- 打点画线
- 打点画线
- MFC画线
- opengl画线
- Mapx 画线
- 多线程画线
- JS画线
- 画线程序
- Matlab 画线
- poj2376 Cleaning Shifts
- 更改sql server 数据库排序规则
- PHP运行出现Notice : Use of undefined constant 的解决办法
- android 设置默认launcher 附上代码
- OpenCv IplImage 转 cv::Mat
- 画线
- equals方法及对其进行重写
- poj 3262 Protecting the Flowers (贪心)
- 关于学java要掌握的知识问题
- Zigbee 设置信道,PANID,发射功率
- activity跳转时的生命周期
- 分享几个免费Cocos2d-x游戏源码
- IOS 多语言本地化 完美解决方案【自动+手动】
- 使用pt-stalk诊断MySQL问题