2011-05-20 73 views
1

我正在做一個項目來實現虛擬化學實驗室系統。我試圖通過使用java2D來做到這一點。我在這裏遇到了一個大問題。那就是如何向燒杯或燒瓶顯示某種填充效果(燒杯是圖像)。我在WritableRaster(java.awt.image)類中使用setPixel()方法嘗試了這一點。但沒有多大用處。Java2D幫助顯示填充圖像

我需要一個幫助來顯示填充到燒杯中的某些物質,並在混合兩種化學物質時顯示顏色變化。請記住,燒杯是一個圖像。在此先感謝,如果任何人都可以給我一個示例代碼的解決方案。

回答

1

我建議使用使用Batik的動態SVG畫布,然後您可以使用高級高級功能(如遮罩和混合等)。這不是最有效的解決方案,但誰在乎?它對未來很靈活。此外,需要進行大量優化才能確定圖像的哪些部分實際發生了變化,並通過這些部分來提高效率。我希望Batik把它作爲標準。此外,你會看到非常好看的東西。

無論如何,你只需要使用Inkscape來創建SVG,然後相應地修改DOM(文檔對象模型)。這就像搞亂HTML一樣。 Here是一些SVG燒杯剪貼畫。

2

很方便的是,許多類實現了Shape接口。實現類與fill()一起工作良好,如圖所示here。要顯示顏色轉換,請考慮AlphaComposite,如here所示。