"""
颜色替换函数.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')
-
- 2025 年 10 月
- 2025 年 9 月
- 2025 年 6 月
- 2025 年 5 月
- 2025 年 3 月
- 2025 年 2 月
- 2025 年 1 月
- 2024 年 12 月
- 2024 年 8 月
- 2024 年 6 月
- 2024 年 5 月
- 2024 年 4 月
- 2024 年 3 月
- 2024 年 2 月
- 2023 年 11 月
- 2023 年 9 月
- 2023 年 6 月
- 2023 年 5 月
- 2023 年 4 月
- 2023 年 3 月
- 2023 年 2 月
- 2023 年 1 月
- 2022 年 12 月
- 2022 年 11 月
- 2022 年 10 月
- 2022 年 9 月
- 2022 年 8 月
- 2022 年 7 月
- 2022 年 6 月
- 2022 年 5 月
- 2022 年 4 月
- 2022 年 3 月
- 2022 年 2 月
- 2022 年 1 月
- 2021 年 12 月
- 2021 年 11 月
- 2021 年 10 月
- 2021 年 9 月
- 2021 年 8 月
- 2021 年 7 月
- 2021 年 6 月
- 2021 年 5 月
- 2021 年 4 月
- 2021 年 3 月
- 2021 年 2 月
- 2021 年 1 月
- 2020 年 12 月
- 2020 年 11 月
- 2020 年 10 月
- 2020 年 9 月
- 2020 年 8 月
- 2020 年 7 月
- 2020 年 6 月
- 2020 年 5 月
- 2020 年 4 月
- 2020 年 3 月
- 2020 年 2 月
- 2020 年 1 月
- 2019 年 12 月
- 2019 年 11 月
- 2019 年 10 月
- 2019 年 9 月
- 2019 年 8 月
- 2019 年 7 月
- 2019 年 6 月
- 2019 年 5 月
- 2019 年 4 月
- 2019 年 3 月
- 2019 年 2 月
- 2018 年 3 月
- 2018 年 1 月
- 2017 年 9 月
- 2017 年 5 月
- 2017 年 1 月
