2010-04-13 4 views
1

est-il un moyen facile de manipuler PNGs en Java? Je sais que je peux lire dans un BufferedImage et l'écrire, mais j'ai besoin d'ajouter des pixels clairs autour du bord d'une image. Y a-t-il un moyen facile de faire ceci?en Java PNGs Manipuler

Répondre

5

Vous ne l'avez jamais essayé, mais vous pouvez essayer de créer une image mise en mémoire tampon à la taille appropriée, y compris la bordure souhaitée autour de l'image. Donc, pour une bordure de 5 pixels le code pourrait être quelque chose comme:

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); 

Ou si vous voulez garder l'image à sa taille d'origine, alors que vous utilisez seulement 4 méthodes fillRect (...) à haut écrasent les/bords inférieur/gauche/droit de l'image.

+0

C'est certainement la solution simple que je cherchais. –

+1

Notez que ceci est totalement indépendant du format particulier de l'image (PNG ou autre). – leonbloy

2

Une solution rapide serait d'utiliser la méthode setRGB() pour définir directement les valeurs RGBA.

Questions connexes