Question

Nous utilisons JAI ( https://jai-imageio.dev.java.net/ ) pour redimensionner et rogner les images en Java. Nous aimerions créer des coins arrondis sur nos images. Comment fait-on cela?

Les images sont JPG et PNG. Je pense qu’il est plus facile de faire cela avec des JPG?

L’image est une image planaire de JAI

PlanarImage src = JAI.create(...,...);

pouvant être transformé en objet java.awt.Graphics

Quelqu'un l'a-t-il déjà fait?

Était-ce utile?

La solution

PNG prend en charge un canal alpha transparent, mais pas JPG. Donc, pour JPG, vous devez également choisir une couleur pour peindre le motif "invisible". partie du rectangle pour les coins arrondis.

Il existe une classe java.awt.geom.RoundRectangle2D disponible pour le faire:

public void paint(Graphics g) {
    Graphics2D g2d = (Graphics2D) g;
    RoundRectangle2D rr = new RoundRectangle2D.Float(50, 50, 200, 100, 10, 10);
    g2d.draw(rr);
}

La méthode Float () de la classe RoundRectangle2D prend six arguments:

  • Les deux premiers représentent l'emplacement du coin supérieur gauche.
  • Les arguments 3 et 4 représentent la largeur et la hauteur du rectangle arrondi.
  • Les deux derniers arguments représentent la largeur et la hauteur de l'arc dessiné dans le coins.

Donc, dessinez un rectangle arrondi qui contiendra uniquement l’image que vous souhaitez avoir des coins arrondis, puis superposez-le ou utilisez un masque pour obtenir l’effet souhaité.

Autres conseils

Qu'est-ce qui vous empêche de dessiner les angles de votre choix sur l'objet Graphics obtenu à partir de l'image? Je ne suis pas vraiment sûr de ce que vos "coins arrondis" sont supposés ressembler, mais vous pouvez effectuer toutes les opérations de peinture raisonnables sur l’objet Graphics.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top