如何使用 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中文網其他相關文章!