Android绘图初步—Path

本文详细介绍了Android中的Path类,用于绘制复杂的图形轮廓。Path支持lineTo、moveTo、quadTo、cubicTo等方法创建直线、曲线,并可通过addArc、addPath、addCircle等方法添加弧线、圆、椭圆和矩形。同时,文章讨论了Path的填充模式、贝塞尔曲线以及如何构建封闭图形。
摘要由CSDN通过智能技术生成

1.前言

       Path是Android中用来封装几何路径的一个类,Path主要用于绘制复杂的图形轮廓,比如折线,圆弧以及各种复杂图案。

2.实现分析

       Android为我们提供的Path类是一个非常有用的类,它可以预先在View上将N个点按照顺序,将这N个点依次连接成一条“路径”,然后使用Canvas的drawPath(Path path, Paint paint)方法即可沿着路径进行绘制,事实上,Android不仅仅为我们提供了路径绘制的方法还提供了PathEffect来添加绘制效果。

(1)Path类

lineTo(float x, float y):以上一个点为起点到自定义点为终点画直线。参数一和参数二分别表示自定义点的横坐标和纵坐标(若没有设置起始点时,默认的起始点是(0, 0))

moveTo(float x, float y):移动起始点的坐标至(x, y)。参数一和参数二分别表示将起始点移动到的坐标

quadTo(float x1, float y1, float x2, float y2):靠近控制点,从起点到终点画一条二次贝塞尔曲线(起点默认为Canvas的左上角)。参数一和参数二表示控制点的坐标,参数三和参数四表示终点的坐标

cubicTo(float x1, float y1, float x2, float y2, float x3, float y3):靠近控制点,从起点到终点画一条三次贝塞尔曲线(起点默认为Canvas的左上角)。参数一和参数二表示第一个控制点的坐标,参数三和参数四表示第二个控制点的坐标,参数五和参数六表示终点的坐标

rLineTo(float dx, float dy):以当前的点做为基点,以直线的形式连接到 (currentX + dx , currentY + dy)。参数一和参数二分别表示沿x轴和y轴移动的距离

rMoveTo(float dx, float dy):移动前一个点。参数一和参数二分别表示将前一个点沿x轴移动的距离和沿y轴移动的距离

rQuadTo(float dx1, float dy1, float dx2, float dy2):靠近控制点,从起点到终点画一条二次贝塞尔曲线(若有上一个点起点为上一个点,若没有上一个点起点默认为Canvas的左上角)。

addArc(RectF oval, float startAngle, float sweepAngle):添加一个指定的弧路径。参数一表示RectF的对象表示指定的矩形轮廓,参数二表示起始角度,参数三表示顺时针画弧的角度

addPath(Path src) :将传入的路径添加到当前路径。参数一表示添加到当前路径的路径

addCircle(float x, float y, float radius, Path.Direction dir):添加一个指定的圆路径。参数一和参数二分别表示圆心的横坐标和纵坐标,参数三表示圆的半径,参数四表示圆的风格

addOval(RectF oval, Path.Direction dir):添加一个指定的椭圆路径。参数一表示RectF的对象表示指定的矩形轮廓,参数二表示椭圆的风格

addRect(float left, float top, float right, float bottom, Path.Direction dir) :添加一个指定的矩形路径。参数一和参数二表示矩形左上角的坐标,参数三和参数四表示矩形右下角的坐标,参数五表示矩形的风格

       这些方法和addArc有很明显的区别,就是多了一个Path.Direction参数,其他呢都大同小异,除此之外

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值