Java – move graphic path object

Especially in Java and Android, how to convert the path object to 100 pixels? As in C #, I will use the following code to do this:

// Create a path and add and ellipse.
GraphicsPath myPath = new GraphicsPath();
myPath.AddEllipse(0,100,200);

// Draw the starting position to screen.
e.Graphics.DrawPath(Pens.Black,myPath);

// Move the ellipse 100 points to the right.
Matrix translateMatrix = new Matrix();
translateMatrix.Translate(100,0);
myPath.Transform(translateMatrix);

// Draw the transformed ellipse to the screen.
e.Graphics.DrawPath(new Pen(Color.Red,2),myPath);

How do I do this in Android? I already have a path object:

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    Paint pnt = new Paint();
    Path p = new Path();    

    pnt.setStyle(Paint.Style.stroke);
    pnt.setColor(Color.WHITE);

    p.moveTo(97.4f,87.6f);
    p.lineTo(97.4f,3.8f);

    p.lineTo(-1.2f,1.2f);
    p.lineTo(-0.4f,-0.4f);

    p.lineTo(-0.4f,87f);

    p.lineTo(97.4f,87.6f);
    p.close();          

    canvas.drawPath(p,pnt);            
}

What do I need to do to move the path object more than 100 pixels?

Solution

It's almost the same:

Matrix translateMatrix = new Matrix();
translateMatrix.setTranslate(100,0);
p.transform(translateMatrix);

I didn't test it, I just looked at the API

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>