首頁 > 後端開發 > Python教學 > 如何在 Pygame 中圍繞其中心旋轉圖像?

如何在 Pygame 中圍繞其中心旋轉圖像?

Patricia Arquette
發布: 2024-12-16 07:35:10
原創
401 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板