Мне было интересно, какой самый быстрый способ изменить яркость изображения. Я реализовал метод 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 обратно в изображение, потому что моему компьютеру не нравится рендеринг BufferedImages.