jimp-dev/jimp

Question about reading 24-bit bmp files

Open

#1,026 建立於 2021年7月7日

在 GitHub 查看
 (1 留言) (0 反應) (0 負責人)JavaScript (13,218 star) (785 fork)batch import
bughelp wantedreproduction needed

描述

I have a 24-bit bmp file that I want to get the rgb values for the pixels. I'm trying to use Jimp. If I open the image in GIMP and examine pixel 0,0 the rgb values are r: 45, g: 203, b: 203. However, if I use Jimp and the following code:

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

I get { r: 173, g: 200, b: 150, a: 255 }

By eye, r: 45, g: 203, b: 203 is the correct color. So what am I doing wrong? Do I need to use some option to tell Jimp it's 24-bit? Can Jimp read 24-bit? Internally it's using node mod bmp-js which supposedly can decode 24 bit. Am I missing some basic knowledge about bmp format?

Thanks.

貢獻者指南