用Java处理PNG

时间:2010-04-13 20:29:43

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

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

2 个答案:

答案 0 :(得分:5)

从未尝试过,但您可以尝试创建适当大小的缓冲图像,包括图像周围的边框。因此,对于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(...)方法来覆盖图像的上/下/左/右边缘。

答案 1 :(得分:2)

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