ホームページ >Java >&#&チュートリアル >Swing で段階的な画像回転を実現するにはどうすればよいですか?

Swing で段階的な画像回転を実現するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-03 15:41:12206ブラウズ

How to Achieve Gradual Image Rotation in Swing?

Swing で画像を徐々に回転させる方法

Swing は、ユーザー インターフェイスを作成するための多くのクラスとインターフェイスを提供する Java プログラミング言語のグラフィカル ユーザー インターフェイス ライブラリです。 Swing での一般的なタスクの 1 つは、画像を回転することです。これは、AffineTransform クラスを使用して実行できます。

Swing で画像を徐々に回転するには、次の操作を行う必要があります。

  1. AffineTransform オブジェクトを作成します。
  2. 原点を移動します
  3. 変換を希望の角度だけ回転させます。角度。
  4. 変換の原点を元の位置に戻します。
  5. 画像に変換を適用します。

これは、その方法を示すコード例です。 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);
    }
}

このコードは新しい画像を作成し、それを 45 度回転します。画像は JFrame に表示されます。

以上がSwing で段階的な画像回転を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。