Heim > Backend-Entwicklung > Python-Tutorial > Wie drehe ich ein Bild in Pygame um seine Mitte?

Wie drehe ich ein Bild in Pygame um seine Mitte?

Patricia Arquette
Freigeben: 2024-12-16 07:35:10
Original
400 Leute haben es durchsucht

How to Rotate an Image Around Its Center in Pygame?

Wie drehe ich ein Bild mit Pygame um seine Mitte?

Sie können ein Bild mit pygame.transform.rotate um seine Mitte drehen ()-Funktion. Das gedrehte Bild ist jedoch größer als das Originalbild und die Mitte des gedrehten Bildes stimmt nicht mit der Mitte des Originalbilds überein.

Um dieses Problem zu lösen, müssen Sie den Versatz berechnen zwischen der Mitte des Originalbildes und der Mitte des gedrehten Bildes. Mit diesem Versatz können Sie dann das gedrehte Bild so verschieben, dass sich sein Mittelpunkt an der gleichen Position wie der Mittelpunkt des Originalbilds befindet.

Hier ist ein Beispielcode, der zeigt, wie man ein Bild um seinen Mittelpunkt dreht:

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
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie drehe ich ein Bild in Pygame um seine Mitte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage