ios画线
画线:
C语言的函数库勾勒线条:
继承了UIView的类:(实现里面的方法)
线条的宽度会占用里面填充的空间,所以先描边还是先填充所看到的图形是有区别的
//该方法在创建 MyView对象时 会自动调用一次
//该方法不可以手动调用
- (void)drawRect:(CGRect)rect {
//获取系统的当前上下文对象
//1.获取当前画布
// CGContextRef context = UIGraphicsGetCurrentContext();
// //2.勾勒图形
// //设置绘图的起始点
// CGContextMoveToPoint(context, 40, 40);
// //添加第一个路径点
// CGContextAddLineToPoint(context, 40, 140);
// CGContextAddLineToPoint(context, 140, 140);
// CGContextAddLineToPoint(context, 140, 40);
// CGContextAddLineToPoint(context, 40, 40);
// //设置描边颜色
// CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
// //描边
// CGContextStrokePath(context);
// CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
// //填充
}
贝塞尔绘制线条:
实例方法:
画线:
起笔:
[path moveToPoint:CGPointMake(40, 40)];
勾勒:
[path addLineToPoint:CGPointMake(140, 200)];
闭合曲线:(当线条的宽度不为1的时候用效果好,如果用描边的方式会有部分地方的像素空白)
[path closePath];
描边、填充:
[path stroke/fill];
用颜色设置填充色/边的颜色:
[[UIColor greenColor] setFill/setStroke];
属性:
设置线条的宽度:
path.lineWidth = 10;
设置线条两端的样式:
path.lineCapStyle = kCGLineCapSquare;
设置线条焦点的样式(就是线条的相交的地方)
path.lineJoinStyle = kCGLineJoinBevel;
继承了UIView的类:(实现里面的方法)
线条的宽度会占用里面填充的空间,所以先描边还是先填充所看到的图形是有区别的
//该方法在创建 MyView对象时 会自动调用一次
//该方法不可以手动调用
- (void)drawRect:(CGRect)rect {
//1.创建贝塞尔路径的实例
// UIBezierPath *path = [UIBezierPath bezierPath];(一个对象可以勾勒多个图形,但是这2个图形的色彩,形式呈现的是一样的)
// //2.勾勒图形
// [path moveToPoint:CGPointMake(40, 40)];
// [path addLineToPoint:CGPointMake(140, 40)];
// [path addLineToPoint:CGPointMake(140, 140)];
// [path addLineToPoint:CGPointMake(40, 140)];
//// [path addLineToPoint:CGPointMake(40, 40)];
// [path closePath];
// [path moveToPoint:CGPointMake(40, 200)];
// [path addLineToPoint:CGPointMake(140, 200)];
// [path addLineToPoint:CGPointMake(140, 300)];
// [path addLineToPoint:CGPointMake(40, 300)];
// [path closePath];
//
// //设置描边线的宽度
// path.lineWidth = 10;
// //焦点的样式
//// kCGLineJoinMiter, //尖的
//// kCGLineJoinRound, //圆的
//// kCGLineJoinBevel //斜的 角被砍掉
// path.lineJoinStyle = kCGLineJoinBevel;
// //线两端的样式
//// kCGLineCapButt, //方的
//// kCGLineCapRound, //圆的 多出一块
//// kCGLineCapSquare //方的 多出一块
// path.lineCapStyle = kCGLineCapSquare;
//
// //设置 描边颜色
// [[UIColor redColor] setStroke];
// //设置 填充颜色
// [[UIColor greenColor] setFill];
// //描边
// [path stroke];
// //填充
//// [path fill];
}
成功的三大原则:
1、坚持
2、不要脸
3、坚持不要脸
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee