2012-03-20 122 views
2

我試圖繪製BufferedImage到我的Canvas具有不同的顏色色調,但找不到任何實際的工作示例。如何繪製帶有顏色色調的緩衝圖像

我不想生成新的有色BufferedImage,但根據不同的條件,反覆向我的GUI實時繪製BufferedImage,並使用不同的顏色色調。
用色調顏色0xFF0000繪製的圖像將繪製爲純紅色圖像,而色彩0xFFFFFF不會影響圖像。

如何使用我的控件的Graphics2D實例來完成這樣的事情?

在此先感謝。

+1

見[繪製圖像|過濾圖像| LookupOp](http://docs.oracle.com/javase/tutorial/2d/images/drawimage.html)。 – 2012-03-20 20:22:07

+0

@AndrewThompson恐怕沒有任何關於圖像着色的東西。它似乎說我應該使用'LookupOp'來實現這一點,沒有這方面的例子。 – Acidic 2012-03-20 20:36:05

回答

4

也許ColorTintFilter來自Filthy Rich Clients本書可以幫助你。書中的相關示例章節可用here

這裏是使用過濾器的代碼片斷:

BufferedImage image = ...; 
BufferedImageOp imageFilter = new ColorTintFilter(Color.RED, 1.0f); 
image = imageFilter.filter(image, null);