Maison > Java > javaDidacticiel > Comment obtenir une rotation progressive de l'image dans Swing ?

Comment obtenir une rotation progressive de l'image dans Swing ?

Susan Sarandon
Libérer: 2024-12-03 15:41:12
original
247 Les gens l'ont consulté

How to Achieve Gradual Image Rotation in Swing?

Comment faire pivoter progressivement une image dans Swing ?

Swing est une bibliothèque d'interface utilisateur graphique pour le langage de programmation Java qui fournit de nombreuses classes et interfaces pour créer des interfaces utilisateur. Une tâche courante dans Swing consiste à faire pivoter une image. Cela peut être fait à l'aide de la classe AffineTransform.

Pour faire pivoter une image progressivement dans Swing, vous devez :

  1. Créer un objet AffineTransform.
  2. Traduire l'origine de la transformation au centre de l'image.
  3. Faites pivoter la transformation de la valeur souhaitée angle.
  4. Traduisez l'origine de la transformation à la position d'origine.
  5. Appliquez la transformation à l'image.

Voici un exemple de code qui montre comment pour faire pivoter une image progressivement dans Swing :

import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.awt.geom.AffineTransform;

public class RotateImage {

    public static void main(String[] args) {
        // Create an image.
        BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_ARGB);

        // Create an AffineTransform object.
        AffineTransform transform = new AffineTransform();

        // Translate the origin of the transform to the center of the image.
        transform.translate(image.getWidth() / 2, image.getHeight() / 2);

        // Rotate the transform by the desired angle.
        transform.rotate(Math.toRadians(45));

        // Translate the origin of the transform back to the original position.
        transform.translate(-image.getWidth() / 2, -image.getHeight() / 2);

        // Apply the transform to the image.
        Graphics2D g2d = image.createGraphics();
        g2d.drawImage(image, transform, null);
        g2d.dispose();

        // Display the transformed image.
        JFrame frame = new JFrame();
        frame.add(new JLabel(new ImageIcon(image)));
        frame.pack();
        frame.setVisible(true);
    }
}
Copier après la connexion

Ce code créera une nouvelle image et la fera pivoter de 45 degrés. L'image sera ensuite affichée dans un JFrame.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal