WIP - add extractor, generate snippet_data
This commit is contained in:
63
node_modules/@jimp/bmp/src/index.js
generated
vendored
Normal file
63
node_modules/@jimp/bmp/src/index.js
generated
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
import BMP from 'bmp-js';
|
||||
import { scan } from '@jimp/utils';
|
||||
|
||||
const MIME_TYPE = 'image/bmp';
|
||||
const MIME_TYPE_SECOND = 'image/x-ms-bmp';
|
||||
|
||||
function toAGBR(image) {
|
||||
return scan(image, 0, 0, image.bitmap.width, image.bitmap.height, function(
|
||||
x,
|
||||
y,
|
||||
index
|
||||
) {
|
||||
const red = this.bitmap.data[index + 0];
|
||||
const green = this.bitmap.data[index + 1];
|
||||
const blue = this.bitmap.data[index + 2];
|
||||
const alpha = this.bitmap.data[index + 3];
|
||||
|
||||
this.bitmap.data[index + 0] = alpha;
|
||||
this.bitmap.data[index + 1] = blue;
|
||||
this.bitmap.data[index + 2] = green;
|
||||
this.bitmap.data[index + 3] = red;
|
||||
}).bitmap;
|
||||
}
|
||||
|
||||
function fromAGBR(bitmap) {
|
||||
return scan({ bitmap }, 0, 0, bitmap.width, bitmap.height, function(
|
||||
x,
|
||||
y,
|
||||
index
|
||||
) {
|
||||
const alpha = this.bitmap.data[index + 0];
|
||||
const blue = this.bitmap.data[index + 1];
|
||||
const green = this.bitmap.data[index + 2];
|
||||
const red = this.bitmap.data[index + 3];
|
||||
|
||||
this.bitmap.data[index + 0] = red;
|
||||
this.bitmap.data[index + 1] = green;
|
||||
this.bitmap.data[index + 2] = blue;
|
||||
this.bitmap.data[index + 3] = bitmap.is_with_alpha ? alpha : 0xff;
|
||||
}).bitmap;
|
||||
}
|
||||
|
||||
const decode = data => fromAGBR(BMP.decode(data));
|
||||
const encode = image => BMP.encode(toAGBR(image)).data;
|
||||
|
||||
export default () => ({
|
||||
mime: { [MIME_TYPE]: ['bmp'] },
|
||||
|
||||
constants: {
|
||||
MIME_BMP: MIME_TYPE,
|
||||
MIME_X_MS_BMP: MIME_TYPE_SECOND
|
||||
},
|
||||
|
||||
decoders: {
|
||||
[MIME_TYPE]: decode,
|
||||
[MIME_TYPE_SECOND]: decode
|
||||
},
|
||||
|
||||
encoders: {
|
||||
[MIME_TYPE]: encode,
|
||||
[MIME_TYPE_SECOND]: encode
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user