前言

最近用PathmoveTolineToquadTo,也想整理一下,但看到网上已经有人整理了,就摘抄于此,方便自己查阅。

好记性不如烂笔头

正文

一下内容摘抄的,原文请访问文末连接。

moveTo

moveTo 不会进行绘制,只用于移动移动画笔。

就看做移动光标吧。

lineTo

画线

mPath.lineTo(300, 300);
canvas.drawPath(mPath, mPaint);

参数中的(300,300)是线的结束点,开始的位置就是看mPath的位置初始位置,如果没有moveTo,那么位置就是原点(0,0)。

比如:

mPath.moveTo(100, 100);
mPath.lineTo(300, 300);
canvas.drawPath(mPath, mPaint);

上面操作后,此时的画线的开始点是(100,100)结束点是(300,300)

quadTo

quadTo 用于绘制圆滑曲线,即贝塞尔曲线。

mPath.quadTo(x1, y1, x2, y2)

(x1,y1) 为控制点,(x2,y2)为结束点。

PS: 第一个是控制点咯,这个很重要。原点还是画笔的上一个结束点。

mPath.moveTo(100, 500);  // 原点
mPath.quadTo(300, 100, 600, 500);   // 控制点和结束点
canvas.drawPath(mPath, mPaint);

cubicTo

cubicTo 同样是用来实现贝塞尔曲线的。

mPath.cubicTo(x1, y1, x2, y2, x3, y3)

(x1,y1) 为控制点,(x2,y2)为控制点,(x3,y3) 为结束点。

至于跟quadTo的区别,大概是多了一个控制点。

arcTo

arcTo 用于绘制弧线(实际是截取圆或椭圆的一部分)。

mPath.arcTo(ovalRectF, startAngle, sweepAngle)

ovalRectF为椭圆的矩形,startAngle 为开始角度,sweepAngle 为结束角度。

举个例子

mRectF = new RectF(10, 10, 600, 600);
mPath.arcTo(mRectF, 0, 90);
canvas.drawPath(mPath, mPaint);

由于new RectF(10, 10, 600, 600)为正方形,又截取 0 ~ 90 度 ,则所得曲线为四分之一圆的弧线。

参考文章

  1. Android中moveTo、lineTo、quadTo、cubicTo、arcTo详解(实例)

版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

RemoteViews添加到布局中

前言记录一下Android中如何把RemoteViews添加到布局中。记录于此,方便自己查阅。正文Android中有一个类虽然名字中带了View,但不是真正的View,那就是RemoteViews。下面是RemoteViews继承。public class RemoteViews im...

Android进程间通信方式Messenger的简单记录

前言简单记录一下Messenger的使用,方便自己查阅。正文什么是MessengerMessenger是基于消息Message的传递的一种轻量级IPC进程间通信方式,本质上是对Binder的封装。通过Messenger可以让我们可以简单地在进程间直接使用Handler进行Message传...

早班火车:淡黄色的山坡

我记得我们象鸟儿一样站在树上坡下是另一个村庄我们吆喝着彼此的名字那声音在脚下盘旋连山上的刚冒出来的嬷嬷花都听到了我们去刨小蒜我们看麦地一群群暗褐色的乌鸦红拉拉的喙落下来啄食幼苗我们虚张声势惊走他们风很大半导体里的天气预报说“北部”的时候我们的老师就解释那是说我们的家乡年轻人...

Android分析Monkey日志

推荐使用我的个人导航大全:编程导航 、IT导航、极客导航、读书导航Log 在android中的地位非常重要,要是作为一个android程序员不能过分析log这关,算是android没有入门吧 。 下面我们就来说说如何处理log文件 。什么时候会有Log文件的产生 ?Log的产生大家都...

戴望舒 :寻梦者

梦会开出花来的,梦会开出娇妍的花来的:去求无价的珍宝吧。 在青色的大海里,在青色的大海的底里,深藏着金色的贝一枚。 你去攀九年的冰山吧,你去航九年的瀚海吧,然后你逢到那金色的贝。 它有天上的云雨声,它有海上的风涛声,它会使你的心沉醉。&nb...

对Matrix.mapRect()的理解

前言在对图片操作时有用过,Matrix.mapRect(),但当时没记录一下,因此今天抽空整(摘)理(抄)一下,方便自己查阅。正文Matrix中的接口,有原文注释,大意是对矩形使用矩阵变形,也就是改变矩形中的四个点值。 public boolean mapRect(RectF rec...