【问题标题】:Manipulating PNGs in Java在 Java 中操作 PNG
【发布时间】:2011-02-07 15:30:06
【问题描述】:

有没有一种在 Java 中操作 PNG 的简单方法?我知道我可以读入 BufferedImage 并将其写回,但我需要在图像边缘周围添加清晰的像素。有没有简单的方法可以做到这一点?

【问题讨论】:

    标签: java png java-2d javax.imageio


    【解决方案1】:

    一个快速的解决方案是使用setRGB() 方法直接设置RGBA 值。

    【讨论】:

      【解决方案2】:

      从未尝试过,但您可以尝试以适当的大小创建缓冲图像,包括您想要的图像周围的边框。因此,对于 5 像素的边框,代码可能类似于:

      BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
      Graphics2D g2d = image.createGraphics();
      g2d.setColor( new Color(0, 0, 0, 0) );
      g2d.fillRect(0, 0, width, height);
      g2d.drawImage(image, 5, 5, null);
      

      或者,如果您想保持图像的原始大小,那么您只需使用 4 个 fillRect(...) 方法来覆盖图像的上/下/左/右边缘。

      【讨论】:

      • 这绝对是我一直在寻找的简单解决方案。
      • 请注意,这与图像的特定格式(PNG 或其他)完全无关。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 2011-12-09
      • 2014-02-07
      相关资源
      最近更新 更多