其实,quadTo这个方法同我们平时在photoshop中所使用到的“笔迹”功能一样。说白了,就是将一条线段变成一个曲线。而这条曲线顾名思义是一条抛物线而已。
API概述
public void quadTo (float x1, float y1, float x2, float y2)
Add a quadratic bezier from the last point, approaching control point
(x1,y1), and ending at (x2,y2). If no moveTo() call has been made for
this contour, the first point is automatically set to (0,0).
要理解好这个API的含义,关键是几个point的意义。
首先,要知道一个point由两个float值,组成一前一后分别为x轴和y轴上的坐标。所以,方法参数虽然有四个,但是只是两个point而已。
然后,是last
point到底是什么。根据API,意为在执行过程中,离当前方法最近的那个moveTo()方法所指定的点。当然,如果在这个方法之前,一直没有使用过
moveTo()方法的话,这个last
point默认为(0,0)。关于这点,还需要注意的是,无论调用多少次quadTo(),只要不再次使用moveTo()方法,那么last
point还是不改变的。
最后,说说last point,point 1,point
2之间的关系吧。前面说到,这个方法的效果就像ps中的笔迹功能一样。那么,last point 和point
2就是那个悲催的线段。然后,这条线段,就会从point 1所在处隆起,使得整体线段大致变成一条抛物线。