@mescius/dsimageviewer
Version:
Document Solutions Image Viewer
93 lines (92 loc) • 2.25 kB
TypeScript
/// <reference types="node" />
declare const enum Compression {
NONE = 0,
BI_RLE8 = 1,
BI_RLE4 = 2,
BI_BIT_FIELDS = 3,
BI_ALPHA_BIT_FIELDS = 6
}
declare interface IColor {
red: number;
green: number;
blue: number;
quad: number;
}
declare interface IDecoderOptions {
toRGBA?: boolean;
}
declare interface IImage {
flag: string;
fileSize: number;
reserved1?: number;
reserved2?: number;
offset: number;
headerSize: number;
width: number;
height: number;
planes?: number;
bitPP: number;
compression?: Compression;
rawSize: number;
hr?: number;
vr?: number;
colors?: number;
importantColors?: number;
palette?: IColor[];
data: Buffer;
}
export declare function maskColor(maskRed: number, maskGreen: number, maskBlue: number, maskAlpha: number): {
shiftRed: (x: number) => number;
shiftGreen: (x: number) => number;
shiftBlue: (x: number) => number;
shiftAlpha: (x: number) => number;
};
export default class BmpDecoder implements IImage {
flag: string;
fileSize: number;
reserved1: number;
reserved2: number;
offset: number;
headerSize: number;
width: number;
height: number;
planes: number;
bitPP: number;
compression?: Compression;
rawSize: number;
hr: number;
vr: number;
colors: number;
importantColors: number;
palette: IColor[];
data: Buffer;
private maskRed;
private maskGreen;
private maskBlue;
private maskAlpha;
private readonly toRGBA;
private pos;
private bottomUp;
private readonly buffer;
private readonly locRed;
private readonly locGreen;
private readonly locBlue;
private readonly locAlpha;
private shiftRed;
private shiftGreen;
private shiftBlue;
private shiftAlpha;
constructor(buffer: Buffer, { toRGBA }?: IDecoderOptions);
private parseHeader;
private parseRGBA;
private bit1;
private bit4;
private bit8;
private bit16;
private bit24;
private bit32;
private scanImage;
private readUInt32LE;
private setPixelData;
}
export {};