Tag: 亮度

如何更改图像的亮度

我的问题:我希望能够改变资源图像的亮度,并将其三个实例作为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)); } 电话会是这样的: […]