可以使用 javascript 更改图像调色板吗?

Ric*_*d B 5 javascript image-processing

我已经在这里看到了一些与此相关的问题,但没有一个提供好的答案。

我需要的是一个 javascript (或者可能是某种使用 PHP/Apache 的插件),它可以找到图像中的颜色,并将它们替换为自定义调色板中最接近的颜色,在我的例子中是 NES Palette。如何才能做到这一点?

gio*_*_13 2

是的,可以使用 JavaScript 来完成,步骤如下:

  1. 将图像加载到画布中
  2. 获取图像数据(这是每个像素的 rgba 值的数组)
  3. 循环遍历数组并将 rgba 值转换为十六进制值
  4. 将结果颜色转换为调色板中最接近的颜色
  5. 将新颜色转换回 RGBA 值
  6. 将新的 imagedata 数组恢复到画布