""" pygame像素直接访问类PxielArray类研究程序 """ __author__ = "李兴球" __date__ = "2019/9/9" import pygame image = pygame.image.load('images/test.png') screen = pygame.display.set_mode(image.get_size(),0,32) image = image.convert_alpha() print(image.unmap_rgb(-65536)) # 红色 print(image.map_rgb((0, 0, 0, 255))) # 黑色 print(image.map_rgb((0, 0, 0, 0))) # 透明黑色 print("_____________") print(image.map_rgb((0, 0, 0, 16))) # 黑色 print(image.map_rgb((0, 0, 0, 32))) # 黑色 print(image.map_rgb((0, 0, 0, 48))) # 黑色 print(image.map_rgb((0, 0, 0, 64))) # 黑色 print(image.map_rgb((0, 0, 0, 80))) # 黑色 print(image.map_rgb((0, 0, 0, 96))) # 黑色 print(image.map_rgb((0, 0, 0, 112))) # 黑色 print(image.map_rgb((0, 0, 0, 128))) # 黑色 print(image.map_rgb((0, 0, 0, 144))) # 黑色 print(image.map_rgb((0, 0, 0, 160))) # 黑色 print(image.map_rgb((0, 0, 0, 176))) # 黑色 print(image.map_rgb((0, 0, 0, 192))) # 黑色 print(image.map_rgb((0, 0, 0, 208))) # 黑色 print(image.map_rgb((0, 0, 0, 224))) # 黑色 print(image.map_rgb((0, 0, 0, 240))) # 黑色 print("_____________") print(image.map_rgb((255, 255, 255, 255))) # 白色 pxarray = pygame.PixelArray(image) pxarray.replace(-65536,-234) # 把所有红色换成黄色 pxarray.replace(-16777216,-234) # 把所有黑色换成黄色 pxarray.replace(-1,-234) # 把所有白色换成黄色 # 如何改变全部黑色像素的透明度为0 pxarray.close() screen.blit(image,(0,0)) pygame.display.update() while not any(pygame.key.get_pressed()): pygame.event.pump() pygame.time.delay(100) pygame.quit()