我想知道改变图像亮度的最快方法是什么。我已经实现了'RescaleOp'方法,但我不知道这是最快的方法还是其他方法。这是我的实现,我输入一个图像,更改亮度,并返回一个图像:
public static Image setBrightness(Image i) {
BufferedImage buff = new BufferedImage(i.getWidth(null), i.getHeight(null), BufferedImage.TYPE_INT_ARGB);
buff.createGraphics().drawImage(i, 0, 0, null);
RescaleOp op = new RescaleOp(brightness, offsets, null);
BufferedImage buff1 = new BufferedImage(i.getWidth(null), i.getHeight(null), BufferedImage.TYPE_INT_ARGB);
buff1.createGraphics().drawImage(buff, op, 0, 0);
return Toolkit.getDefaultToolkit().createImage(buff1.getSource());
}
PS:我还需要将BufferedImage转换回Image,因为我的电脑不喜欢渲染BufferedImages。
答案 0 :(得分:2)
我读过的所有内容都让我相信RescaleOp是最好,最快的选择