1
我有一個位圖文件類型Format8bppIndexed。我需要通過JavaScript獲取每個像素(0-255)的值,這對應於調色板的索引顏色。 我試着用getImageData,但返回的值不是顏色索引,而是繪製的像素顏色的RGBA值。獲取顏色索引(索引)使用JavaScript的位圖
我有一個位圖文件類型Format8bppIndexed。我需要通過JavaScript獲取每個像素(0-255)的值,這對應於調色板的索引顏色。 我試着用getImageData,但返回的值不是顏色索引,而是繪製的像素顏色的RGBA值。獲取顏色索引(索引)使用JavaScript的位圖
您需要使用相應的調色板定義。 Format8bppIndexed位圖(技術上位圖)中的位置將返回調色板的索引。
畫布始終是RGBA格式,每個組件8位。 24位(如果包含alpha,則爲32位)不需要調色板,因爲這些值與RGB緩衝區直接相關。
要將RGB值轉換爲調色板索引,您需要調色板,然後您需要一種方法來查找從RGB到索引所代表的值的最短距離(對於每個索引值,使用r*r+g*g+b*b
,f.ex. RGB和調色板的RGB之間的最短距離差)。
只是稍微改變一下:abs(r-R)+ abs(g-G)+ abs(b-B),但它工作:) – Riccardo