使用 JavaScript 获取(索引)位图的颜色索引

Get color Index of (indexed) Bitmap using JavaScript

我有一个位图文件类型 Format8bppIndexed。我需要通过 JavaScript 获得每个像素的值 (0-255),它对应于调色板的索引颜色。 我尝试了getImageData,但返回值不是颜色索引,而是绘制像素颜色的RGBA值。

您需要使用相应的调色板定义。 Format8bppIndexed 位图中的位置(技术上位平面)将 return 调色板的索引。

Canvas 始终是 RGBA 格式,每个分量 8 位。 24 位(如果包含 alpha,则为 32 位)不需要调色板,因为值与 RGB 缓冲区直接相关。

要将 RGB 值转换为调色板索引,您需要调色板,然后您需要找到从 RGB 到索引表示的值的最短距离的方法(f.ex。使用 r*r+g*g+b*b对于每个索引值,RGB与调色板RGB之间的距离差最短者胜出)。