2019/9/9版的PixelArray类研究与map_rgb及unmap_rgb测试程序

2019/9/9版的PixelArray类研究与map_rgb及unmap_rgb测试程序

"""
   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()

 

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。