Wie drehe ich ein Bild mit Pygame um seine Mitte?
Kurze Antwort:
Um ein Bild mit Pygame zu drehen und dabei seine Mitte und Größe beizubehalten, passen Sie die Rechteckabmessungen entsprechend an. Holen Sie sich das ursprüngliche Bildrechteck und erstellen Sie mit pygame.transform.rotate() ein gedrehtes Bild. Kopieren Sie einen Teil des gedrehten Bildes, der am ursprünglichen Rechteck ausgerichtet ist, und verwenden Sie ihn als Ausgabe.
Detaillierte Antwort:
Beim Drehen eines Bildes mit pygame.transform. rotation() erhöht die Größe des resultierenden Bildes. Um die Originalgröße beizubehalten, muss das gedrehte Bild an derselben Stelle wie das Originalbild platziert werden.
Hier ist ein aktualisierter Codeblock, der die Ausnahme behebt:
def rot_center(image, angle, x, y): """Rotate an image while keeping its center and size""" rotated_image = pygame.transform.rotate(image, angle) new_rect = rotated_image.get_rect(center=image.get_rect(center=(x, y)).center) return rotated_image, new_rect
Diese Funktion gibt zurück das gedrehte Bild und das umschließende Rechteck des gedrehten Bildes.
Alternativ können Sie die Funktion blitRotateCenter() zum Drehen und Blitten des Bildes verwenden Bild:
def blitRotateCenter(surf, image, topleft, angle): rotated_image = pygame.transform.rotate(image, angle) new_rect = rotated_image.get_rect(center=image.get_rect(topleft=topleft).center) surf.blit(rotated_image, new_rect)
Das obige ist der detaillierte Inhalt vonWie drehe ich mit Pygame ein Bild um seine Mitte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!