????
Current Path : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/@jimp/bmp/src/ |
Current File : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/@jimp/bmp/src/index.js |
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, }, });