【问题标题】:image brightness slider Java图像亮度滑块 Java
【发布时间】:2013-10-26 12:51:42
【问题描述】:

我有:

BufferedImage image;
//few lines of code
public void stateChanged(ChangeEvent e) 
{
for (int i = 0; i < image.getWidth(); i++) {
        for (int j = 0; j < image.getHeight(); j++) 
        {
            Color color = new Color(image.getRGB(i, j));
            int r, g, b;
            val = sliderBrightness.getValue();
            r = color.getRed() + val;
            g = color.getGreen() + val;
            b = color.getBlue() + val;
        }
    }

我不知道如何解决这个问题,我应该如何修改 Image 将对 JSlider 亮度做出反应?

【问题讨论】:

    标签: java image swing jslider brightness


    【解决方案1】:

    如图here 所示,使用java.awt.image.RescaleOp 将图像的色带调整为滑块位置的函数。尽管名称为AlphaTest,但该示例使用了“应用于BufferedImage 中的所有颜色(但不是alpha)组件”的构造函数。

    【讨论】:

      【解决方案2】:
      public void stateChanged(ChangeEvent e) 
      {
      
      for (int x = 0; x < image.getWidth(); x++) {
          for (int y = 0; y < image.getHeight(); y++) 
              {
              Color color = new Color(image.getRGB(x, y));
      
              int r, g, b;
              val = sliderBrightness.getValue();
      
              r = checkColorRange(color.getRed() + val);
              g = checkColorRange(color.getGreen() + val);
              b = checkColorRange(color.getBlue() + val);
      
              color = new Color(r, g, b);
              image.setRGB(x, y, color.getRGB());
              border.setIcon(new ImageIcon(image.getScaledInstance(350, 350, Image.SCALE_SMOOTH)));
              border.repaint();
              }
          }
      }
      public int checkColorRange(int newColor){
          if(newColor > 255){
              newColor = 255;
          } else if (newColor < 0) {
              newColor = 0;
          }
          return newColor;
      }
      

      为了清楚起见,您还应该使用xy,而不是ij

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-07
        • 2023-04-01
        • 2021-05-07
        • 1970-01-01
        • 2011-06-20
        • 1970-01-01
        • 2015-08-10
        相关资源
        最近更新 更多