2008-11-29 77 views

Trả lời

27

này nên làm điều đó:

image = pygame.Surface([640,480], pygame.SRCALPHA, 32) 
image = image.convert_alpha() 

Hãy chắc chắn rằng độ sâu màu (32) vẫn dứt khoát thiết lập khác điều này sẽ không làm việc.

9

Bạn cũng có thể cung cấp cho nó khóa màu, giống như tính minh bạch của tệp GIF. Đây là cách phổ biến nhất để tạo sprites. Bitmap gốc có tác phẩm nghệ thuật, và có một màu nhất định làm nền đó sẽ không được rút ra, đó là colorkey:

surf.set_colorkey((255,0,255)) // Sets the colorkey to that hideous purple 

Bề mặt sử dụng colorkey thay vì alpha là nhanh hơn rất nhiều để blit kể từ khi họ làm không yêu cầu bất kỳ phép tính pha trộn nào. Bề mặt SDL sử dụng một bitmask đơn giản khi nó có một bộ colorkey, mà blits thực tế mà không cần overhead.