更改BufferedImage的颜色

时间:2012-03-21 23:12:47

标签: java bufferedimage

大家好我正在计算一个分形并根据completedIterations的数量绘制一个bufferedImage。为了简单起见,我可以使用completedIterations以这种方式着色bufferdImage:

g.setColor(Color.getHSBColor((float) (colorValue - completedIterations), 1F, 1F));

当生成图像时colourValue是常量,假设在这种情况下它是0.2。

我在JPanel上有一个滑块,使用时会更改colorValue,范围为0到1。 当colorValue被更改时,我想实时更新BufferedImage,但我不想重新计算所有图像点,因为这会导致大量开销 - 我只想根据新的colorValue重新着色BufferedImage。

可以这样做,如果是这样,我将如何实施呢?

亲切的问候

格雷格

1 个答案:

答案 0 :(得分:2)

您可以使用setRGB()设置单个像素,如图here所示;或使用RescaleOp调整多个像素,如here所示。