2014-01-18 39 views
0

我有一個android應用程序直接在畫布上繪製圖像。 它特別使用路徑和貝塞爾。移植從android到標準java的圖形繪製

我現在需要將此端口移植到用標準Java編寫的Windows應用程序,並且難以找到要使用的正確圖形庫。

我需要在內存中創建位圖,用路徑繪製。 該路徑需要能夠保持線條,貝塞爾,橢圓形和空心矩形。 然後將生成的圖像多次輸出到輸出圖形中。

我曾看過Graphics2D,但路徑繪製不允許創建橢圓作爲它的一部分。

是否有解決方法或其他標準庫可用? 在java中是否有一個類似於Android的canvas畫布?

+0

您可以看看[JavaFX](http://docs.oracle.com/javafx/2/canvas/jfxpub-canvas.htm) – assylias

回答

2

Java2D中的路徑(形式爲java.awt.geom.Path2Djava.awt.geom.GeneralPath)可以附加任何java.awt.Shapejava.awt.geom.Ellipse2D表示圓形或橢圓形,並且它實現了java.awt.Shape,因此您可以將其中一個添加到Path2D。

您可以將路徑繪製到java.awt.image.BufferedImage上,並將緩衝的圖像繪製到屏幕上。

Java2D API確實是您所需要的。

+0

謝謝@Erwin爲我確認這一點。我認爲GeneralPath對我來說是最好的選擇,所以我可以直接調用moveTo,lineTo,curveTo等等。只需要看看如何將我的橢圓座標(邊界矩形的4個角)轉換爲Ellipse2D形狀。 – Simon