""" 颜色替换函数.py 替换颜色的一个函数。 本程序需要gameturtle模块支持,安装方法pip install gameturtle """ import numpy as np from gameturtle import * def replace_color(im,source,dest): """颜色替换函数,把source颜色换成dest颜色 im:pillow图形对象, soucrce: 将要换的颜色值,如[255,0,0,255]为红色 dest:目标颜色值,如[0,0,0,0]即透明色 返回pillow图形对象,要求numpy模块和pillow模块支持 """ if isinstance(source,str): source = ImageColor.getrgb(source) source = source[0],source[1],source[2],255 if isinstance(dest,str): dest = ImageColor.getrgb(dest) dest = dest[0],dest[1],dest[2],255 im = im.convert("RGBA") im = np.array(im) mask = np.all(im==source,axis=-1) # 返回所有source颜色逻辑阵列 im[mask] = dest return Image.fromarray(im) ball = make_ellipse(100,100,'cyan',10,'blue') ball.save('1.png') ball = replace_color(ball,'blue','red') # 蓝的换成红的 ball.save('2.png') rect = make_rect(100,100,'red',10,'blue') rect.save('3.png') rect = replace_color(rect,[255,0,0,255],[0,255,0,255]) # 红的换成绿的 rect.save('4.png') rect = replace_color(rect,[0,255,0,255],[0,0,0,0]) # 绿的换成空的 rect.save('5.png')
李兴球
李兴球的博客是Python创意编程原创博客
要发表评论,您必须先登录。
发表评论