Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa PNG lutsinar saya blit sebagai hitam dalam Pygame dan bagaimana saya boleh membetulkannya?

Mengapa PNG lutsinar saya blit sebagai hitam dalam Pygame dan bagaimana saya boleh membetulkannya?

Susan Sarandon
Susan Sarandonasal
2024-10-30 20:17:301063semak imbas

Why does my transparent PNG blit as black in Pygame, and how can I fix it?

Meletupkan Imej PNG dengan Ketelusan dalam Pygame

Soalan:

Percubaan untuk meletus PNG imej ke permukaan menyebabkan bahagian lutsinar kelihatan hitam. Berikut ialah kod ringkas yang menyebabkan isu:

<code class="python">import pygame

# ...

treeImage = pygame.image.load("tree.png")

# ...</code>

Mengapa ketelusan menjadi hitam, dan bagaimanakah ia boleh diselesaikan?

Jawapan:

Menurut dokumentasi Pygame, untuk ketelusan alfa dalam imej PNG, kaedah convert_alpha() hendaklah dipanggil selepas memuatkan imej. Ini memastikan bahawa imej mempunyai ketelusan setiap piksel.

Untuk menyelesaikan masalah, cuma tambah baris berikut selepas memuatkan imej:

<code class="python">treeImage.convert_alpha()</code>

Ini akan menukar imej kepada format yang menyokong ketelusan setiap piksel, membolehkan kawasan lutsinar dipaparkan dengan betul.

Atas ialah kandungan terperinci Mengapa PNG lutsinar saya blit sebagai hitam dalam Pygame dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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