美文网首页
Android Path总结

Android Path总结

作者: 刘小厨 | 来源:发表于2020-04-01 20:14 被阅读0次

概述
路径,可用于绘制直线,曲线构成几何路径,还可用于根据路径绘制文字

  • Path的常用Api有移动,连线,闭合,添加图形等
    如:
 mPath.moveTo(100, 70); //移动
mPath.lineTo(140, 800);//连线
mPath.rLineTo(40, 730);//相对于当前path的位置连线,和上一行代码效果相同
mPath.close();//设置曲线闭合

注: mPath.lineTo()方法便是的就是绘制一条一阶贝塞尔曲线

  • Path还有很多addXxx()方法,表示添加子图形,比如:
//添加弧形,前面四个参数表示弧形所在的矩形范围,倒数第二个参数表示开始绘制的角度,最后一个参数表示弧形扫过得角度
mPath.addArc(200, 200, 400, 400, -225, 225);
//Path.Direction.CW表示顺时针方向绘制,CCW表示逆时针方向
mPath.addRect(500, 500, 900, 900, Path.Direction.CW);
//添加一个圆
mPath.addCircle(700,700, 200, Path.Direction.CW);
//添加一个椭圆
mPath.addOval(0,0,500,300, Path.Direction.CCW);

//添加圆角矩形, CW顺时针,CCW逆时针
RectF rectF = new RectF(200, 800, 700, 1200);
//第二和第三个参数分别表示x,y方向的圆角半径
mPath.addRoundRect(rectF, 20, 20, Path.Direction.CCW);
  • Path有很多xxxTo()方法可以追加子图形,比如:
 //追加弧形,最后一个参数 forceMoveTo,true,绘制时移动起点,false,绘制时连接最后一个点与圆弧起点
mPath.arcTo(400, 200, 600, 400, -180, 225, false);

对于最后一个参数我们看下代码和对比图:

mPath.moveTo(0, 0);
mPath.lineTo(100, 100);
mPath.arcTo(400, 200, 600, 400, 0, 270, false/true);
forceMoveTo效果
  • Path还可以通过addPath()方法添加路径
mPath.lineTo(100, 830);
//创建新的Path对象
Path newPath = new Path();
newPath.moveTo(100, 1000);
newPath.lineTo(600, 1300);
newPath.lineTo(400, 1700);
//将新创建的Path添加到原来的Path对象中
mPath.addPath(newPath);
  • Path可以绘制多阶贝塞尔曲线
    例如画二阶贝塞尔曲线,效果如下:
mPath.moveTo(300, 500);
mPath.quadTo(500, 100, 800, 500);
二阶贝塞尔曲线

画二阶贝塞尔曲线还有一个方法

 mPath.moveTo(300, 500);
//参数表示相对位置,效果同上
mPath.rQuadTo(200, -400, 500, 0);

画三阶贝塞尔曲线

 //画三阶贝塞尔曲线
mPath.moveTo(300, 500);
//mPath.cubicTo(500, 100, 600, 1200, 800, 500);
 //参数表示相对位置,等同于上面一行代码
mPath.rCubicTo(200, -400, 300, 700, 500, 0);
三阶贝塞尔曲线

很多自定义View中会使用到贝塞尔曲线的绘制,比如QQ消息的拖拽效果等...
代码见: Android Path案例-仿QQ气泡的拖拽效果

相关文章

  • Android Path案例-仿QQ气泡的拖拽效果

    概述 本文承接Android Path总结下述小案例仅为Android Path的api的使用 总结,非项目使用d...

  • 关于paint画图

    Android Paint API总结和使用方法 Android Path, Region, Paint, Can...

  • android Path的使用

    参考:android绘图之Path总结Path相关方法讲解(一)path类的简化结构图 内部枚举类 构造方法 构造...

  • Android:Path总结

    Android实际开发中经常用到Path来画一些点、线、圆、贝塞尔曲线等,现在闲暇了,来个小的总结吧。 moveT...

  • Android Path总结

    概述路径,可用于绘制直线,曲线构成几何路径,还可用于根据路径绘制文字 Path的常用Api有移动,连线,闭合,添加...

  • Android_path总结

    要熟悉地掌握自定义控件是,path的学习是必经之路,下面我们的了解一下Path: 一、path是什么? Path类...

  • Android Path方法总结

    常用方法 1.moveTo(float x, float y) 移动下一次操作的起点位置 2.lineTo(flo...

  • Mac配置adb home

    Setting PATH for Android ADB Tools export PATH={PATH}:/Us...

  • 2018-06-20

    export PATH=${PATH}:/Users/zhaopengxiang/Library/Android/...

  • android绘图之Path总结

    本文首发在我的个人博客ghui.me欢迎指教 Path作为Android中一种相对复杂的绘图方式,官方文档中的有些...

网友评论

      本文标题:Android Path总结

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