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

Get color Index of (indexed) Bitmap using JavaScript

本文关键字:索引 位图 颜色 使用 获取 JavaScript      更新时间:2023-09-26

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

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

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

要将 RGB 值转换为调色板索引,您需要调色板,然后您需要一种方法来查找从 RGB 到索引所代表的值的最短距离(例如,对每个索引值使用 r*r+g*g+b*b,以调色板的 RGB 和 RGB 之间的最短距离差为准)。