jimp-dev/jimp

Question about reading 24-bit bmp files

Open

#1026 aperta il 7 lug 2021

Vedi su GitHub
 (1 commento) (0 reazioni) (0 assegnatari)JavaScript (785 fork)batch import
bughelp wantedreproduction needed

Metriche repository

Star
 (13.218 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

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.

Guida contributor