Java – move graphic path object
•
Java
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
二维码
