Как изменить яркость изображения

Мой вопрос: Я хочу иметь возможность изменять яркость изображения ресурса и иметь три его экземпляра в виде ImageIcons. Один с яркостью 50% (темнее), другой с яркостью 75% (немного ярче) и, наконец, еще один с яркостью 100% (такой же, как исходное изображение). Я также хочу сохранить прозрачность.

Что я'я пробовал: яЯ искал вокруг, и, похоже, лучшее решение используетRescaleOpно я просто могуне могу понять это. Я нене знаю, что такое scaleFactor и смещение. Вот'мой код для того, что ямы пробовали

public void initialize(String imageLocation, float regularBrightness, float focusedBrightness, float pressedBrightness, String borderTitle) throws IOException {
  BufferedImage bufferedImage = ImageIO.read(ButtonIcon.class.getResource(imageLocation));
  setRegularIcon(getAlteredImageIcon(bufferedImage, regularBrightness));
  setFocusedIcon(getAlteredImageIcon(bufferedImage, focusedBrightness));
  setPressedIcon(getAlteredImageIcon(bufferedImage, pressedBrightness));
  setTitle(borderTitle);
  init();
}

private ImageIcon getAlteredImageIcon(BufferedImage bufferedImage, float brightness) {
  RescaleOp rescaleOp = new RescaleOp(brightness, 0, null);
  return new ImageIcon(rescaleOp.filter(bufferedImage, null));
}

Звонок будет примерно таким:

seeATemplateButton.initialize("/resources/templateIcon-regular.png", 100f, 75f, 50f, "See A Template");
//I think my 100f, 75f, 50f variables need to change, but whenever I change them it behaves unexpectedly (changes colors and stuff).

Что происходит с этим кодом: Изображение появляетсяневидимый» Я знаю это'там, потому что этоs на JLabel с событием щелчка мыши на нем, и это прекрасно работает. Если я просто пропущу часть изменения яркости и скажуsetRegularIcon(new ImageIcon(Button.class.getResource(imageLocation)); это работает просто отлично, но, очевидно,не темнее.

Что я думаю мне нужно: Некоторые помогают понять, что,offsetscaleFactorиfilter Метод означает / делает, и, следовательно, какие числа дать для переменной яркости.

Любая помощь будет принята с благодарностью! Спасибо!

Ответы на вопрос(4)

Ваш ответ на вопрос