Comment puis-je faire pivoter une image à l'aide de Java/Swing et ensuite définir son origine 0,0?
Je suis capable de faire pivoter une image qui a été ajouté à un JLabel. Le seul problème est que si la hauteur et la largeur ne sont pas égaux, la rotation de l'image n'apparaîtra plus à l'JLabel est l'origine (0,0).
Voici ce que je suis en train de faire. J'ai aussi essayé d'utiliser AffineTransform et la rotation de l'image elle-même, mais avec les mêmes résultats.
Graphics2D g2d = (Graphics2D)g;
g2d.rotate(Math.toRadians(90), image.getWidth()/2, image.getHeight()/2);
super.paintComponent(g2d);
Si j'ai une image dont la largeur est supérieure à sa hauteur, rotation de l'image à l'aide de cette méthode et puis la peinture il en résultera l'image peinte à la verticale au-dessus du point 0,0, et horizontalement vers la droite du point 0,0.
OriginalL'auteur JT. | 2010-04-22
Vous devez vous connecter pour publier un commentaire.
Utiliser le g2d.transform() pour déplacer l'image en arrière, là où c'est nécessaire. Je suis juste en imaginant ce que le calcul peut être, mais je pense que quelque chose comme:
BTW, vous pouvez avoir un problème avec l'étiquette de déclaration de sa taille préférée - vous pourriez avoir besoin pour remplacer getPreferredSize() et compte pour permuter les images de la largeur et de la hauteur en les faisant pivoter.
OriginalL'auteur staticman
OriginalL'auteur Maurice Perry
La fonction suivante va tourner un tampon d'image qui vient à durée indéterminée si c'est un carré parfait ou pas.
OriginalL'auteur Aleksandr Movsesyan
La Tourné Icône classe peut être ce que vous cherchez.
OriginalL'auteur camickr