>백엔드 개발 >파이썬 튜토리얼 >파이게임에서 이미지를 중심으로 회전하는 방법은 무엇입니까?

파이게임에서 이미지를 중심으로 회전하는 방법은 무엇입니까?

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

위 내용은 파이게임에서 이미지를 중심으로 회전하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.