gpt4 book ai didi

python - 如何使用 PIL(Python 图像库)将 RGB 值四舍五入为最接近的网络安全值?

转载 作者:太空狗 更新时间:2023-10-30 01:09:29 24 4
gpt4 key购买 nike

我正在为颜色创建一个快速查找表。假设您给我红色阴影,然后我会将其转换为最接近的网络安全颜色并执行查找。它会返回许多不同深浅的红色,这对我来说没问题。

我现在唯一的问题是如何将给定的 RGB 值转换为网络安全值?我正在使用 PIL 和 Python。我也不介意编写自己的算法,但这对我来说有点太难了。

最佳答案

我不知道使用 PIL 是否有特定的方法,但是如果您有 rgb 颜色并且我们将最接近的网络安全颜色定义为 rgb 空间中距离最小的颜色,您可以这样做:

def getwebsafe(r,g,b):
rw = 51 * ((int(r)+25)//51)
gw = 51 * ((int(g)+25)//51)
bw = 51 * ((int(b)+25)//51)
return (rw,gw,bw)

这是因为网络安全颜色的每个分量有 6 种可能的色调:(0,51,102,153,204,255)。如果你的颜色中的一个分量在 [0,25] 范围内,最接近的是 0,如果它在 [26-76] 范围内,那么最接近的是 51,等等。

或者,用列表表示的 rgb 颜色的较短版本:

def getwebsafe(colour):
return [51*((int(c)+25)//51) for c in colour]

编辑:编辑以确保即使在 Python 使用非整数颜色以及 Python 2 和 3 时它也能正常工作。

关于python - 如何使用 PIL(Python 图像库)将 RGB 值四舍五入为最接近的网络安全值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13058569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com