File size: 753 Bytes
bf237c2 |
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 |
import utif from "utif2";
const MIME_TYPE = "image/tiff";
export default () => ({
mime: { [MIME_TYPE]: ["tiff", "tif"] },
constants: {
MIME_TIFF: MIME_TYPE,
},
decoders: {
[MIME_TYPE]: (data) => {
const ifds = utif.decode(data);
const page = ifds[0];
ifds.forEach((ifd) => {
utif.decodeImage(data, ifd);
});
const rgba = utif.toRGBA8(page);
return {
data: Buffer.from(rgba),
width: page.t256[0],
height: page.t257[0],
};
},
},
encoders: {
[MIME_TYPE]: (image) => {
const tiff = utif.encodeImage(
image.bitmap.data,
image.bitmap.width,
image.bitmap.height
);
return Buffer.from(tiff);
},
},
});
|