Rembourrage noir avec des images en java?
J'ai ce problème. J'utilise ce code pour faire pivoter une image mais l'image pivotée a un rembourrage noir dans ses coins en raison de la rotation. Comment pourrais-je l'enlever?
public static BufferedImage rotate(BufferedImage img, int angle) {
rotate_checked = false;
int w = img.getWidth();
int h = img.getHeight();
BufferedImage dimg =new BufferedImage(w, h, BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g = dimg.createGraphics();
g.rotate(Math.toRadians(angle), w/2, h/2);
g.drawImage(img, null, 0, 0);
return dimg;
}
1
1 answers
Vous devez créer une image transparente:
BufferedImage tampon = gc.createCompatibleImage (hauteur, largeur, transparence.TRANSLUCIDE);
Où 'gc' est un objet Graphics2D. Vous pouvez également en créer un directement avec new BufferedImage() bien sûr, mais cela vous donnera l'image la plus efficace à utiliser pour votre contexte graphique particulier.
0
Author: Richard Wilkes, 2013-06-04 20:48:59