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
Lepaskan: 2024-10-30 20:17:30
asal
1060 orang telah melayarinya

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

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

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!

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