方法概述
其實,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所在處隆起,使得整體線段大致變成一條拋物線。
至於實例,網上很多。這裡先不列舉了……