Java - Rotation De L'Image
Je suis en train de faire tourner l'image. Je suis en utilisant ce code Java:
BufferedImage oldImage = ImageIO.read(new FileInputStream("C:\\workspace\\test\\src\.JPG"));
BufferedImage newImage = new BufferedImage(oldImage.getHeight(), oldImage.getWidth(), oldImage.getType());
Graphics2D graphics = (Graphics2D) newImage.getGraphics();
graphics.rotate(Math.toRadians(90), newImage.getWidth() / 2, newImage.getHeight() / 2);
graphics.drawImage(oldImage, 0, 0, oldImage.getWidth(), oldImage.getHeight(), null);
ImageIO.write(newImage, "JPG", new FileOutputStream("C:\\workspace\\test\\src\_.JPG"));
Mais je vois résultat étrange:
Source:
Résultat:
**Le résultat de l'image:** http://s14.postimage.org/cjut935ip/image.jpg
Pouvez vous s'il vous plaît m'aider avec ce problème?
Ne devriez-vous pas tourner autour du centre de oldImage, plutôt que de newImage?
J'essaie de graphiques.tourner(en Mathématiques.toRadians(90), oldImage.getWidth() / 2, oldImage.getHeight() / 2); Sa aide pas. s13.postimage.org/7omxa1oef/image.jpg
J'essaie de graphiques.tourner(en Mathématiques.toRadians(90), oldImage.getWidth() / 2, oldImage.getHeight() / 2); Sa aide pas. s13.postimage.org/7omxa1oef/image.jpg
OriginalL'auteur user1631241 | 2012-08-28
Vous devez vous connecter pour publier un commentaire.
Il n'est pas assez pour changer la largeur et la hauteur de l'image. Vous êtes en rotation à l'aide du centre de l'image comme l'origine de la rotation. Juste essayer la même chose avec une feuille de papier et vous verrez qu'elle fonctionne de la même manière. Vous devez également déplacer le papier un peu, ce qui signifie pour appliquer une transformation à résoudre ce problème. Ainsi, immédiatement après la rotation de l'appel, faites ceci:
Je sais 🙂 Vous êtes les bienvenus.
J'ai honte immédiatement pour ne pas penser à cela... :-p
+1 cela m'a beaucoup aidé... que vous
OriginalL'auteur Dan D.
La nouvelle image a différentes tailles en raison de la rotation.
essayez ceci:
BufferedImage newImage = new BufferedImage( oldImage.getWidth(),oldImage.getHeight(),oldImage.getType());
Essaie déjà. Après cela, j'ai: s11.postimage.org/4jvhjtewz/image.jpg
OriginalL'auteur
Essayer d'obtenir des limites de votre panneau sur lequel vous réalisez votre dessin
Puis faire:
Espoir qui pourrait aider
Cheers!
OriginalL'auteur java_xof
Vous pouvez écrire comme cela, il aura du travail.
Je pense que le lieu de
width
etheight
est incorrect dans votre code.OriginalL'auteur Bahramdun Adil