首页 > 解决方案 > Jimp:从 24 位 bmp 获取像素的 rgb 颜色

问题描述

我有一个 24 位 bmp 文件,我想使用Jimp for node 获取像素的 rgb 值。如果我在 GIMP 中打开图像并检查像素 0,0,则 rgb 值为 r:45,g:203,b:203。但是,如果我使用 Jimp 和以下代码:

Jimp.read(fileToRead)
          .then(image => {
            console.log(Jimp.intToRGBA(image.getPixelColor(0,0)))
          })
          .catch(err => {
            console.log(err);
          })

我得到 { r: 173, g: 200, b: 150, a: 255 }

用肉眼看,r: 45, g: 203, b: 203 是正确的颜色。那么我做错了什么?我是否需要使用一些选项来告诉 Jimp 它是 24 位的?Jimp 可以读取 24 位吗?在内部它使用 node mod bmp-js 据说可以解码 24 位。我是否缺少有关 bmp 格式的一些基本知识?

谢谢。

标签: node.jsbmpjimp

解决方案


推荐阅读