mh-two-thousand-and-two
2024-04-12 7fc6dbf547b8899d949b67cdec36b96a7d1701c7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/* eslint-disable no-control-regex */
 
import { Jimp, getTestDir } from '@jimp/test-utils';
import configure from '@jimp/custom';
 
import bmp from '../src';
 
const jimp = configure({ types: [bmp] }, Jimp);
 
describe('BMP', () => {
  const imagesDir = getTestDir(__dirname) + '/images';
 
  it('load BMP', async () => {
    const image = await jimp.read(imagesDir + '/windows95.bmp');
 
    image.getPixelColor(10, 10).should.be.equal(0xeff7f7ff);
    image.getPixelColor(150, 80).should.be.equal(0x73add6ff);
    image.getPixelColor(190, 200).should.be.equal(0xf7c300ff);
  });
 
  it('export BMP', async () => {
    const image = await jimp.read({
      width: 3,
      height: 3,
      data: [
        0xff0000ff,
        0xff0080ff,
        0xff00ffff,
        0xff0080ff,
        0xff00ffff,
        0x8000ffff,
        0xff00ffff,
        0x8000ffff,
        0x0000ffff
      ]
    });
    const buffer = await image.getBufferAsync('image/bmp');
 
    buffer.toString().should.match(/^BMZ\u0000/);
  });
 
  it('uses correct colors for BMP', async function() {
    this.timeout(4000);
 
    const expectedImg = await jimp.read(
      getTestDir(__dirname) + '/images/windows95.png'
    );
    const image = await jimp.read(
      getTestDir(__dirname) + '/images/windows95.bmp'
    );
 
    image.bitmap.data.should.be.deepEqual(expectedImg.bitmap.data);
  });
});