ホームページ >バックエンド開発 >Python チュートリアル >Pygameで画像を中心を中心に回転させる方法は?

Pygameで画像を中心を中心に回転させる方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-16 07:35:10403ブラウズ

How to Rotate an Image Around Its Center in Pygame?

Pygame を使用して画像を中心を中心に回転するにはどうすればよいですか?

pygame.transform.rotate を使用して画像を中心を中心に回転できます() 関数。ただし、回転した画像は元の画像より大きくなり、回転した画像の中心は元の画像の中心と同じになりません。

この問題を解決するには、オフセットを計算する必要があります。元の画像の中心と回転された画像の中心の間。次に、このオフセットを使用して、回転した画像を移動し、その中心が元の画像の中心と同じ位置になるようにします。

次に、画像を中心を中心に回転する方法を示すコード例を示します。

def rotate_image(image, angle):
  """Rotates an image around its center.

  Args:
    image: The image to be rotated.
    angle: The angle of rotation in degrees.

  Returns:
    The rotated image.
  """

  # Calculate the offset between the center of the original image and the center of the rotated image.
  offset = (image.get_width() / 2, image.get_height() / 2)

  # Rotate the image around its center.
  rotated_image = pygame.transform.rotate(image, angle)

  # Move the rotated image so that its center is in the same position as the center of the original image.
  rotated_image = rotated_image.subsurface(pygame.Rect(-offset, -offset, image.get_width(), image.get_height()))

  # Return the rotated image.
  return rotated_image

以上がPygameで画像を中心を中心に回転させる方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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