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 중국어 웹사이트의 기타 관련 기사를 참조하세요!