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
二维码