Java: самый быстрый способ изменить яркость изображения

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


person MrDrProfessorTyler    schedule 15.04.2012    source источник
comment
...потому что моему компьютеру не нравится рендеринг BufferedImages. это вообще не имеет смысла. Вы можете объяснить??   -  person ControlAltDel    schedule 15.04.2012
comment
Он ужасно тормозит всякий раз, когда я визуализирую более 50 за раз. Я делаю более 2000 в моем случае. Но мне нужно только знать, как максимально быстро изменить яркость изображения, так что это не очень относится к вопросу.   -  person MrDrProfessorTyler    schedule 15.04.2012
comment
Тогда я бы предположил, что оптимальным решением будет просто контролировать количество BufferedImages, которые вы визуализируете за один раз.   -  person ControlAltDel    schedule 15.04.2012
comment
Я думаю, это вариант, но я визуализирую ландшафт, состоящий из плиток, и это лишило бы смысла. Я думаю, я должен был включить это. Извини   -  person MrDrProfessorTyler    schedule 15.04.2012
comment
Что такое диапазон масштабного коэффициента и смещения?   -  person Marcin Erbel    schedule 10.10.2013


Ответы (1)


Все, что я прочитал, наводит меня на мысль, что RescaleOp — лучший и самый быстрый вариант.

person ControlAltDel    schedule 15.04.2012