【发布时间】:2011-02-07 15:30:06
【问题描述】:
有没有一种在 Java 中操作 PNG 的简单方法?我知道我可以读入 BufferedImage 并将其写回,但我需要在图像边缘周围添加清晰的像素。有没有简单的方法可以做到这一点?
【问题讨论】:
标签: java png java-2d javax.imageio
有没有一种在 Java 中操作 PNG 的简单方法?我知道我可以读入 BufferedImage 并将其写回,但我需要在图像边缘周围添加清晰的像素。有没有简单的方法可以做到这一点?
【问题讨论】:
标签: java png java-2d javax.imageio
一个快速的解决方案是使用setRGB() 方法直接设置RGBA 值。
【讨论】:
从未尝试过,但您可以尝试以适当的大小创建缓冲图像,包括您想要的图像周围的边框。因此,对于 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(...) 方法来覆盖图像的上/下/左/右边缘。
【讨论】: