Android绘制贝塞尔曲线

参考文章:http://www.jizhuomi.com/android/game/335.html

在Android绘图中,如果仅仅用Line函数会造成过度非常僵硬的情况,这时候就需要使用贝塞尔曲线了。

 

而在Android开发中,要实现贝塞尔曲线其实还是很简单的,因为Android已经给我们提供了相关接口,但此接口方法被藏的有点深,藏于Path类中。此方法如下:

       android.graphics.Path.quadTo(float x1, float y1, float x2, float y2)

       Since: API Level 1

       参数说明:

       x1:操作点的x坐标

       y1:操作点的y坐标

       x2:结束点的x坐标

       y2:结束点的y坐标

       从API中看出,贝塞尔曲线从API-1就开始支持了。

 

新建Path()

path.moveTo(lastX, lastY);
path.quadTo(lastX,lastY,mx,my);//二次方贝塞尔曲线  
记录上一次的位置
lastX=mx;
lastY=my;
在走帧的时候,每次更新

public void drawQpath(Canvas canvas) {
path.reset();// 重置path
// 贝赛尔曲线的起始点
path.moveTo(startX, startY);
// 设置贝赛尔曲线的操作点以及终止点
path.quadTo(controlX, controlY, endX, endY);
// 绘制贝赛尔曲线(Path)
canvas.drawPath(path, paintQ);
}

 

 

posted @ 2017-02-07 20:44  益达915  阅读(376)  评论(0编辑  收藏  举报