Android Canvas - 如何使用Path.quadto绘制反向曲线?

时间:2014-10-25 09:07:10

标签: android android-canvas

我正在使用Path.quadto函数绘制曲线。

  

public void quadTo(float x1,float y1,float x2,float y2){           isSimplePath = false;           native_quadTo(mNativePath,x1,y1,x2,y2);       }

    path.rQuadTo(50, 50, 100, 0);
    canvas.drawPath(path, p);

我得到它正是我想要的,但它是颠倒的。如何将其垂直翻转180度? (这是一个笑脸,现在,需要它成为一个悲伤的脸)

2 个答案:

答案 0 :(得分:0)

假设您开始在(0,0)处绘制,只需设置第一个点并翻转y1和y2。

moveTo(0,50);
path.rQuadTo(50,0,100,50);

答案 1 :(得分:0)

在仔细阅读文档后,我看到了这一点:

  

参数

     

dx1要添加到此最后一个点的x坐标的数量   轮廓,用于二次曲线的控制点

     

dy1要添加到此最后一个点的y坐标的数量   轮廓,用于二次曲线的控制点

     

dx2要添加到此最后一个点的x坐标的数量   轮廓,用于二次曲线的终点

     

dy2要添加到此最后一个点的y坐标的数量   轮廓,用于二次曲线的终点

据此,dy1组件对于这种情况最重要。通过将其减少为负数,我能够将弧变为凹下来。

public void rQuadTo(float dx1,float dy1 ,float dx2,float dy2)