Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript获取(索引)位图的颜色索引_Javascript_Html_Web_Bitmap_Html5 Canvas - Fatal编程技术网

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

使用JavaScript获取(索引)位图的颜色索引,javascript,html,web,bitmap,html5-canvas,Javascript,Html,Web,Bitmap,Html5 Canvas,我有一个位图文件类型Format8Bppined。我需要通过JavaScript获得每个像素的值(0-255),它对应于调色板的索引颜色。 我尝试使用getImageData,但返回的值不是颜色索引,而是绘制像素颜色的RGBA值。您需要使用相应的调色板定义。Format8Bppined位图(技术上为位平面)中的位置将返回调色板的索引 画布始终为RGBA格式,每个组件为8位。24位(如果包括alpha,则为32位)不需要调色板,因为值与RGB缓冲区直接相关 要将RGB值转换为调色板索引,您需要调色

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

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

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

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

只需一点更改:abs(r-r)+abs(g-g)+abs(b-b),但它可以工作:)