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
1
A
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.
2
Une solution rapide serait d'utiliser la méthode setRGB()
pour définir directement les valeurs RGBA.
C'est certainement la solution simple que je cherchais. –
Notez que ceci est totalement indépendant du format particulier de l'image (PNG ou autre). – leonbloy