Манипулирование PNG в Java - PullRequest
1 голос
/ 14 апреля 2010

Есть ли простой способ манипулировать PNG в Java? Я знаю, что могу прочитать BufferedImage и записать его обратно, но мне нужно добавить четкие пиксели по краю изображения. Есть ли простой способ сделать это?

Ответы [ 2 ]

5 голосов
/ 14 апреля 2010

Никогда не пробовал, но вы можете попробовать создать буферизованное изображение соответствующего размера, включая желаемую границу вокруг изображения. Таким образом, для границы в 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 (...), чтобы перезаписать верхний / нижний / левый / правый края изображения.

2 голосов
/ 14 апреля 2010

Быстрое решение - использовать метод setRGB() для прямой установки значений RGBA.

...