2012-03-20 75 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); 
相关问题