【发布时间】:2015-06-12 13:01:33
【问题描述】:
我有一个位图文件类型 Format8bppIndexed。我需要通过 JavaScript 获取每个像素 (0-255) 的值,它对应于调色板的索引颜色。 我用getImageData试过了,但是返回的值不是颜色索引,而是绘制的像素颜色的RGBA值。
【问题讨论】:
标签: javascript html web bitmap html5-canvas
我有一个位图文件类型 Format8bppIndexed。我需要通过 JavaScript 获取每个像素 (0-255) 的值,它对应于调色板的索引颜色。 我用getImageData试过了,但是返回的值不是颜色索引,而是绘制的像素颜色的RGBA值。
【问题讨论】:
标签: javascript html web bitmap html5-canvas
您需要使用相应的调色板定义。 Format8bppIndexed 位图(技术上位平面)中的位置将返回调色板的索引。
Canvas 始终为 RGBA 格式,每个组件为 8 位。 24 位(如果包含 alpha 则为 32 位)不需要调色板,因为这些值与 RGB 缓冲区直接相关。
要将 RGB 值转换为调色板索引,您需要调色板,然后您需要一种方法来找到从 RGB 到索引表示的值的最短距离(例如,对每个索引值使用 r*r+g*g+b*b, RGB 与调色板的 RGB 之间的距离差最短者胜)。
【讨论】: