登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> CLQ工作室开源代码 - [函数库] >> 主题: [ios/functions_c.m]画线 画单根线     [回主站]     [分站链接]
标题
[ios/functions_c.m]画线 画单根线
clq
浏览(267) + 2021-02-22 12:51:27 发表 编辑

关键字:


设置颜色时有个非常容易出错的地方,一定要注意

//画线
//画线//画单根线//参考 ViewController_draw
void Canvas_DrawLine(CGContextRef context, CGFloat x, CGFloat y, CGFloat to_x, CGFloat to_y, CGFloat width, UIColor * color)
{
//1.获取上下文
//CGContextRef context = UIGraphicsGetCurrentContext();

//CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 15.0); //线宽
//CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 0.1f); //线宽//0.1 的效果会很奇怪, 0.5f 比较好
CGContextSetLineWidth(context, width); //线宽//0.1 的效果会很奇怪, 0.5f 比较好

//2.设置当前上下文路径
//设置起始点
CGContextMoveToPoint(context, x, y);
//增加点
CGContextAddLineToPoint(context, to_x, to_y);
//CGContextAddLineToPoint(context, 50, 200);
//关闭路径
CGContextClosePath(context);
//3.设置属性
/*
UIKit会默认导入 core Graphics框架,UIKit对常用的很多的唱歌方法做了封装
UIColor setStroke设置边线颜色
uicolor setFill 设置填充颜色

*/
//[[UIColor redColor]setStroke];
//[[UIColor blueColor]setFill];

// [color setStroke]; //设置外框颜色 //实际上只能设置 UIGraphicsGetCurrentContext 得到的默认 context
// [rgba_255(0, 0, 0, 0) setFill]; //设置填充颜色 //实际上只能设置 UIGraphicsGetCurrentContext 得到的默认 context

//用下面这两个函数可能更合适
//CGContextSetRGBFillColor(context, 0, 1, 0, 1);
//CGContextSetRGBStrokeColor(context, 0, 1, 0, 1);
//或者
//CGContextSetFillColorWithColor
//CGContextSetStrokeColorWithColor
//奇怪,和 ViewController_draw 里不同的是,这里的 StrokeColor 不能用 [color setStroke]
//原因大概是因为 ViewController_draw 使用的是默认 context 进行绘图,
//因其是在 uiview 的 - (void)drawRect:(CGRect)rect
//中获得的上下文 CGContextRef context = UIGraphicsGetCurrentContext();
//而自绘控件时是加了一个自己的 CALayer,画的是新 CALayer 的 CGContextRef

CGContextSetStrokeColorWithColor(context, [color CGColor]);

// [[UIColor yellowColor]set];
//4.绘制路径
CGContextDrawPath(context, kCGPathFillStroke);
}//


总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1