Apabila bekerja dengan imej dalam Pygame, adalah penting untuk memastikan ketelusan dikendalikan dengan betul untuk mengelakkan artifak visual yang tidak dijangka. Satu isu biasa ialah bahagian lutsinar imej PNG yang kelihatan hitam apabila dipancarkan ke permukaan. Masalah ini timbul kerana tiada tetapan ketelusan dalam sifat imej.
Untuk mengatasinya, Pygame mencadangkan menggunakan kaedah convert_alpha() selepas memuatkan imej PNG. Proses ini mengubah suai tetapan ketelusan imej, membenarkan ketelusan per piksel dan memastikan bahagian telus dipaparkan seperti yang dimaksudkan. Di bawah ialah versi semakan kod anda yang menggabungkan pembetulan ini:
import pygame screen = pygame.display.set_mode((800, 600), pygame.DOUBLEBUF, 32) world = pygame.Surface((800, 600), pygame.SRCALPHA, 32) treeImage = pygame.image.load("tree.png"); treeImage = treeImage.convert_alpha() # Added this line world.blit(treeImage, (0,0), (0,0,64,64)) screen.blit(world, pygame.rect.Rect(0,0, 800, 600))
Dengan membuat pengubahsuaian ini, anda kini seharusnya melihat bahagian lutsinar imej PNG yang dipaparkan dengan betul apabila dipancarkan ke permukaan. Ini akan menghapuskan isu kawasan lutsinar kelihatan hitam dan memastikan imej anda mengekalkan ketelusan yang dimaksudkan.
Atas ialah kandungan terperinci Mengapa PNG Lutsinar Kelihatan Hitam Apabila Diletakkan dalam Pygame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!