Canvasから現在の翻訳位置を取得するにはどうすればよいですか?私は私の座標が相対的なもの(互いに)と絶対的なもの(キャンバスへ)の組み合わせであるものを描こうとしています。Canvasで現在の翻訳位置を見つけるには?
private static Point getCurrentTranslate(Canvas canvas) {
float [] pos = new float [2];
canvas.getMatrix().mapPoints(pos);
return new Point((int)pos[0], (int)pos[1]);
}
...
Point p = getCurrentTranslate(canvas);
canvas.drawSomething(-p.x, -p.y);
キャンバスがgetMatrix方法を持っている、それはsetTranslate
が、無getTranslate
があります
は、これは動作しますが、汚れている、私は
canvas.translate(x1, y1);
canvas.drawSomething(0, 0); // will show up at (x1, y1), all good
// now i want to draw a point at x2,y2
canvas.translate(x2, y2);
canvas.drawSomething(0, 0); // will show up at (x1+x2, y1+y2)
// i could do
canvas.drawSomething(-x1, -y1);
// but i don't always know those coords
を行いたいとしましょう。私はcanvas.save()
とcanvas.restore()
を使用したくありません。私は物事を描いている方法がちょっと難しいので(おそらく乱雑です...)
これらの現在の座標を取得するクリーナーはありますか?