Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Memutar Imej Sekitar Pusatnya dalam Pygame?

Bagaimana untuk Memutar Imej Sekitar Pusatnya dalam Pygame?

Patricia Arquette
Lepaskan: 2024-12-16 07:35:10
asal
400 orang telah melayarinya

How to Rotate an Image Around Its Center in Pygame?

Bagaimanakah cara saya memutarkan imej di sekeliling pusatnya menggunakan Pygame?

Anda boleh memutarkan imej di sekeliling pusatnya menggunakan pygame.transform.rotate () fungsi. Walau bagaimanapun, imej yang diputar akan lebih besar daripada imej asal dan bahagian tengah imej yang diputar tidak akan sama dengan bahagian tengah imej asal.

Untuk menyelesaikan masalah ini, anda perlu mengira offset antara pusat imej asal dan tengah imej diputar. Anda kemudiannya boleh menggunakan ofset ini untuk mengalihkan imej yang diputar supaya pusatnya berada pada kedudukan yang sama dengan tengah imej asal.

Berikut ialah contoh kod yang menunjukkan cara memutar imej di sekeliling pusatnya:

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
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Memutar Imej Sekitar Pusatnya dalam Pygame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan