画像の明るさを変更する最速の方法は何だろうと思っていました。「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: また、私のコンピューターは BufferedImages のレンダリングを好まないため、BufferedImage を Image に戻す必要があります。