美文网首页Android网易课
Paint方法总结(四):Path的应用

Paint方法总结(四):Path的应用

作者: Fizzzzer | 来源:发表于2019-08-23 01:39 被阅读0次

    Paint方法总结(四):Path的应用

    先对Path中的Api做一个简单的介绍

    moveTo(float x,float y):将路径的绘制移动到指定的点,如果不调用该方法,则path的绘制起点默认是坐标原点

    lineTo(float x,float y):路径轨迹为上一个点和当前指定点之间的连线

    rLineTo(float x,float y):表示相对于上一个点的位移距离,与lineTo不同的是,lineTo是表示轨迹移动到指定的点,而rLineTo表示的是,轨迹移动到是相对于上一个而言的,如果当前点的位置在(100,100),如果调用rLineTo(50,50)后,当前点的位置是在(150,150)的。

    close():表示路径轨迹是一个闭合的,即系统会自动将轨迹的最后一个点和起始点做一个连线,如果不调用则表示绘制的路径轨迹不闭合

    addArc(float left,float top,float right,float bottom,float startAngle, float sweepAngle):添加一个扇形轨迹

    • left,top,right,bottom这四个坐标表示扇形所在的矩形区域
    • startAngle:表示扇形绘制时的开始角度
    • sweepAngle:表示扇形扫过的角度,即扇形实际绘制的角度

    关于这种添加还有很多方法,类似于addRect(... , Direction dir)添加一个矩形,addCircle(... ,Direction dir)添加一个圆形,addOval(... ,Direction dir)添加一个椭圆,前面的参数就是指定一些坐标点就不赘述了,后面的这个Direction是指的绘制方向,是个枚举值CW顺时针绘制,CCW逆时针绘制

    mPath.arcTo(RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo):追加一个扇形,当前面已经画好一个路径后,需要在画一个扇形,前面的参数跟之前介绍的一样,这里主要介绍forceMoveTo,这是一个boolean类型的参数,如果为true,表示强制移动到当前追加的地方,如果为false,则会将上一个图形的末尾点和追加的起点进行一个连线。效果参见下图

    forceMoveTo.png

    addPath(Path):添加一个Path

    addRoundRect(RectF rect, float rx, float ry, Direction dir):添加一个圆角矩形

    • rx,ry:x方向和y方向上的圆角半径

    quadTo(float x1, float y1, float x2, float y2):绘制二阶贝塞尔曲线,x1y1为控制点坐标,x2y2为结束点坐标,在调用之前,需要调用moveTo()方法指定起始点,如果不调用,则默认起始点为坐标原点(0,0)

    rQuadTo(float x1, float y1, float x2, float y2):绘制二阶贝塞尔曲线,这里出入的坐标是相对于起始点而言的。

    cubicTo(float x1, float y1, float x2, float y2,float x3, float y3):绘制三阶贝塞尔曲线,x1y1为第一个控制点的坐标,x2y2为第二个控制点的坐标,x3y3为结束点的坐标,起始点的指定与二阶贝塞尔曲线一样。

    rCubicTo(float x1, float y1, float x2, float y2,float x3, float y3):绘制三阶贝塞尔曲线,这里的坐标是相对于起始点而言的。

    相关文章

      网友评论

        本文标题:Paint方法总结(四):Path的应用

        本文链接:https://www.haomeiwen.com/subject/tmmasctx.html