ウェブサイト検索

PyGame を使用して画像を回転および拡大縮小するにはどうすればよいですか?


Pygame モジュールの pygame.transform.rotate 関数と pygame.transform.scale 関数をそれぞれ使用して、Pygame で画像を回転したり拡大縮小したりできます。この関数は、度単位で指定された角度で画像を回転するために使用されます。この関数は、回転する画像と回転角度の 2 つのパラメータを取ります。この記事では、pygame.transform.rotate 関数と pygame.transform.scale 関数を使用して、それぞれ画像を回転および拡大縮小します。

Pygame で画像を回転する

アルゴリズム

Pygameで画像を回転する-

  • pygameライブラリをインポートします。

  • pygame.init() を呼び出して Pygame を初期化します。

  • pygame.display.set_mode() を使用して画面サイズを設定します。

  • pygame.image.load() を使用して、回転する画像を読み込みます。

  • pygame.transform.rotate() を使用して画像を回転し、回転角度を度単位で指定します。

  • screen.blit() を使用して、元の画像と回転した画像を画面上に描画します。

  • pygame.display.flip() を呼び出して表示を更新します。

  • pygame.QUIT イベントをリッスンする while ループを使用して、ユーザーがウィンドウを閉じるのを待ちます。

  • pygame.quit() を使用して Pygame を終了します。

構文

pygame.transform.rotate(Surface, angle)

ここで、サーフェス は回転するサーフェスであり、角度 はサーフェスを回転する角度 (度単位) です。この関数は、回転された画像を含む新しい Surface を返します。

以下のコードは、python-logo.png という画像を読み込み、pygame.transform.rotate 関数を使用して画像を 45 度回転し、元の画像と回転された画像の両方を画面に表示します。 blit 関数は、画面上に画像を描画するために使用されます。

import sys
import pygame

pygame.init()

screen = pygame.display.set_mode((400, 400))

# Load the image to rotate
image = pygame.image.load('python-logo.png')

# Rotate the image by 45 degrees
rotated_image = pygame.transform.rotate(image, 45)

# Display the original and rotated image on the screen
screen.blit(image, (0, 0))
screen.blit(rotated_image, (200, 0))

pygame.display.flip()

# Wait for the user to close the window
while True:
   for event in pygame.event.get():
      if event.type == pygame.QUIT:
         pygame.quit()
         sys.exit()

出力

Pygame での画像の拡大縮小

Pygame は、画像を指定されたサイズに拡大縮小する pygame.transform.scale という関数を提供します。この関数は、拡大縮小する画像と画像の新しいサイズという 2 つのパラメータを受け取ります。以下のコードは、pygame.transform.scale 関数を使用して、画像を元のサイズの 2 倍に拡大縮小します。

アルゴリズム

Pygameでの画像のスケーリング-

  • pygameライブラリをインポートします。

  • pygame.init() を呼び出して Pygame を初期化します。

  • pygame.display.set_mode() を使用して画面サイズを設定します。

  • pygame.image.load() を使用して、拡大縮小する画像を読み込みます。

  • pygame.transform.scale() を使用して画像を拡大縮小し、画像の新しいサイズを (幅, 高さ) のタプルとして指定します。

  • screen.blit() を使用して、元の画像と拡大縮小された画像を画面上に描画します。

  • pygame.display.flip() を呼び出して表示を更新します。

  • pygame.QUIT イベントをリッスンする while ループを使用して、ユーザーがウィンドウを閉じるのを待ちます。

  • pygame.quit() を使用して Pygame を終了します。

構文

pygame.transform.scale(Surface, size)

ここで、Surface は拡大縮小する Surface であり、size は Surface の新しいサイズを表すタプルです。この関数は、スケーリングされたイメージを含む新しい Surface を返します。

import pygame
import sys

pygame.init()

screen = pygame.display.set_mode((700, 500))

# Load the image to scale
image = pygame.image.load('python-logo.png')

# Scale the image to 2x its original size
scaled_image = pygame.transform.scale(image, (image.get_width() * 2, image.get_height() * 2))

# Display the original and scaled image on the screen
screen.blit(image, (0, 0))
screen.blit(scaled_image, (200, 0))

pygame.display.flip()

# Wait for the user to close the window
while True:
   for event in pygame.event.get():
      if event.type == pygame.QUIT:
         pygame.quit()
         sys.exit()

出力

結論

この記事では、Pygame pygame.transform.rotate メソッドと pygame.transform.scale メソッドを使用して画像を回転および拡大縮小しました。これらは使いやすい方法であり、画像を回転および拡大縮小するために特定のパラメータを受け取ります。これらの機能を使用すると、ダイナミックで視覚的に魅力的なゲームやアプリケーションを作成できます。

関連記事: