Android 自定义 —— View lineTo 与 rLineTo 的区别

本文详细解析了Canvas中lineTo和rLineTo方法的使用技巧及区别,通过实例演示如何从最后一点到指定点绘制直线,以及如何基于相对坐标绘制线条,帮助读者掌握更精确的绘图控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lineTo 的作用:

从最后一点到指定点(x,y)添加一条直线(这里大家要了解view坐标系左上角0.0 开始的)

它的特点是:绘制一条道(x,y)的一条直线 ,如果没有对此轮廓执行moveTo()调用,则第一个点将自动设置为(0,0)

下面画一条线看看效果

  paint.setAntiAlias(true);
        // 设置画笔的style (Paint.Style.FILL填充,Paint.Style.STROKE描边,Paint.Style.FILL_AND_STROKE填充加描边  )
        paint.setStyle(Paint.Style.STROKE);
        // 设置画笔的颜色
        paint.setColor(Color.RED);
        //设置描边宽度
        paint.setStrokeWidth(10f);
        Path path = new Path();
        path.lineTo(300,300);
        path.lineTo(0,600);
        // 绘制线
        canvas.drawPath(path,paint);

效果图如下

 

rLineTo 的作用:

和lineTo 相似绘制一条线,但坐标被视为相对于此等高线上的最后一个点。如果没有上一个点,则会自动插入moveTo(0,0)

下面使用刚才的数据画一下看看这个相对于最后一个点的意思呢

 paint.setAntiAlias(true);
        // 设置画笔的style (Paint.Style.FILL填充,Paint.Style.STROKE描边,Paint.Style.FILL_AND_STROKE填充加描边  )
        paint.setStyle(Paint.Style.STROKE);
        // 设置画笔的颜色
        paint.setColor(Color.RED);
        //设置描边宽度
        paint.setStrokeWidth(10f);
        Path path = new Path();
        path.rLineTo(300,300);
        path.rLineTo(0,600);
        // 绘制线
        canvas.drawPath(path,paint);

在画第一条线的时候没有最后一个点使用默认的(0,0)画第二条线的时候有了最后一个点,那就是从(300,300) 开始画的这样就是一条直线了,

明白了吧,所以我们在使用的时候要注意是否是最后一个点作为起始点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值