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 サイトの他の関連記事を参照してください。