image-in-browser
Version:
Package for encoding / decoding images, transforming images, applying filters, drawing primitives on images on the client side (no need for server Node.js)
31 lines • 870 B
JavaScript
import { InputBuffer } from '../../common/input-buffer.js';
import { LibError } from '../../error/lib-error.js';
export class BmpFileHeader {
get fileLength() {
return this._fileLength;
}
set imageOffset(v) {
this._imageOffset = v;
}
get imageOffset() {
return this._imageOffset;
}
constructor(b) {
if (!BmpFileHeader.isValidFile(b)) {
throw new LibError('Not a bitmap file.');
}
b.skip(2);
this._fileLength = b.readInt32();
b.skip(4);
this._imageOffset = b.readInt32();
}
static isValidFile(b) {
if (b.length < 2) {
return false;
}
const type = InputBuffer.from(b).readUint16();
return type === BmpFileHeader.signature;
}
}
BmpFileHeader.signature = 0x4d42;
//# sourceMappingURL=bmp-file-header.js.map