当前位置:  开发笔记 > 编程语言 > 正文

Python PIL - 寻找最近的颜色(圆角颜色)

如何解决《PythonPIL-寻找最近的颜色(圆角颜色)》经验,为你挑选了1个好方法。

有一款叫做Roblox的游戏,游戏玩家可以玩游戏,通常是看起来像乐高积木的游戏.

在Roblox中,对于Brick颜色,您可以使用典型的RGB值,但这需要一个在文件大小方面效率不高的附加元素.BrickColor不是使用RGB值,而是文件大小更经济.它使用整数来解释为某种颜色.这就是我的意思: 颜色代码

这是我的代码片段:

import Image
f = raw_input('Image:\n')
im = Image.open(f)
rgb_im = im.convert('RGB')
r, g, b = rgb_im.getpixel((x, y))

在我的程序中,我需要找到最接近RGB值的颜色代码.

这怎么可能实现?



1> mattsap..:

在表格中创建颜色列表(我称之为颜色).按照到你要质疑的r,g,b点的距离对列表进行排序列表中的第一个元素是最接近的颜色

def distance(c1, c2):
    (r1,g1,b1) = c1
    (r2,g2,b2) = c2
    return math.sqrt((r1 - r2)**2 + (g1 - g2) ** 2 + (b1 - b2) **2)

colors = list(rgb_code_dictionary.keys())
closest_colors = sorted(colors, key=lambda color: distance(color, point))
closest_color = closest_colors[0]
code = rgb_code_dictionary[closest_color]


谢谢,我通过格式化颜色表来实现它:`{(27,42,53):26,(242,243,243):1,(163,162,165):194,等等}}
推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有