1
A
回答
2
不,沒有內置任何東西,當您繪製多邊形時,可以繪製帶有應用的變換矩陣的多邊形,這可以爲您縮放多邊形。 (或旋轉,歪斜等等)。
參見
Graphics2D.setTransform(transform);
假設您正在繪製JPanel中的多邊形,並且已經重寫了JPanel的paintComponent方法。鑄造Graphics對象Graphics2D對象,並使用變換來擴展它酌情:
public void paintComponent(Graphic g) {
Graphics2D g2d = (Graphics2D) g;
AffineTransform saveTransform = g2d.getTransform();
try {
AffineTransform scaleMatrix = new AffineTransform();
scaleMatrix.scale(1.5, 1.5);
//or whatever you want
g2d.setTransform(scaleMatrix);
g2d.drawPolygon(myPolygon);
} finally {
g2d.setTransform(saveTransform);
}
}
機會是你可以設置轉換矩陣別處(一次),而不是在paintComponent方法裏面每一次,但我沒有這裏展示如何去做。
另外請注意,這將移動多邊形,你可能會想這適用於改造:
- 添加翻譯成多邊形移動到原點
- 增加規模
- 加將多邊形移回到原始位置的平移
以這種方式,對象不會移動它只是縮放。
0
是,AffineTransform.createTransformedShape(Shape)
將創建任何Shape
的轉化複印件(可以是Polygon
或Path2D
。)
+0
它有什麼用? – Makky 2013-06-23 12:41:29
相關問題
- 1. Java多邊形調整大小
- 2. 如何在JAVA中旋轉AWT矩形?
- 3. 如何在java中填充多邊形?
- 4. 如何在iPhone中繪製可調整大小的多邊形?
- 5. 如何在svg中調整多邊形的大小?
- 6. 如何在C#中調整多邊形的大小?
- 7. 如何在WPF中調整多邊形的大小?
- 8. Java AWT - 繪製通過平滑曲線連接的多邊形
- 9. 如何拖動和調整Eclipse的Draw2d中的多邊形org.eclipse.draw2d.Polygon
- 10. 調整多邊形以填充畫布
- 11. 繪製多個矩形與Java(AWT)
- 12. 如何在一組簡單多邊形中分割多邊形
- 13. 如何使用Java繪製不完整的多邊形
- 14. WPF:我如何繪製多邊形調整大小
- 15. 如何合併多個多邊形爲一個在java中
- 16. 調整無邊框形式
- 17. 在Java中旋轉多邊形
- 18. 在Java中用線切割多邊形
- 19. 在Java中合併兩個多邊形
- 20. java如何將多個矩形合併爲一個多邊形
- 21. 如何在MFC中拖動多邊形?
- 22. 如何在JavaScript中映射多邊形
- 23. 如何在Farseer中創建多邊形?
- 24. 如何在SDL中繪製多邊形?
- 25. 如何在Java中圍繞一個點旋轉多邊形/點
- 26. 多邊形組中的STConvexHull()多邊形
- 27. JAVA畫正多邊形
- 28. Java代碼 - 多邊形
- 29. 如何在kml中保留多邊形的多邊形和多邊形的名稱
- 30. 如何檢測postgis中其他(多個)多邊形中的多邊形
我認爲這可能是更適合我的問題,因爲我希望擴展的形狀,以適應不同屏幕尺寸爲簡單的2D遊戲。這是個好主意嗎?你能否添加一些關於setTransform方法如何工作的更多信息? – Matt 2011-04-18 02:19:04
@Matt新增示例 – MeBigFatGuy 2011-04-18 02:33:23