【发布时间】:2014-12-01 06:22:17
【问题描述】:
背景,我正在将图像转换为 ascii 艺术。这可以完美地工作,甚至可以使用 24 位颜色,将颜色转换为正确的 rgb 值。但是,我现在想用 4 位调色板而不是 24 位来渲染 ascii 艺术。
如何使用 PHP 将 24 位颜色转换为 4 位?
更具体地说,我有标准的 IRC 调色板,我需要将任何给定的十六进制或 RGB 值转换为该调色板。转换为 4 位颜色时,颜色应尽可能匹配。
我对此的其他想法是将图像本身转换为 4 位调色板(使用 GD,这是我现在用来读取颜色的方法),然后再尝试从中获取颜色。另一个想法可能是为以下每种颜色定义一个颜色范围,并检查给定的 24 位颜色是否在该范围内,但是我不知道如何将所有颜色的范围放入该调色板。
【问题讨论】: