Initial commit

This commit is contained in:
robert committed 2025-05-30 18:13:30 +08:00
commit e49726988c
5445 files changed
+1089914

No files matched your search

+24
View File
@@ -0,0 +1,24 @@
import * as BMP from "bmp-ts";
import { Bitmap } from "@jimp/types";
export type { BmpColor } from "bmp-ts";
export { BmpCompression } from "bmp-ts";
type Pretty<T> = {
[K in keyof T]: T[K] extends (...args: any[]) => any ? T[K] : T[K] extends object ? Pretty<T[K]> : T[K];
};
export type EncodeOptions = Pretty<Partial<Pick<BMP.BmpImage, "palette" | "colors" | "importantColors" | "hr" | "vr" | "reserved1" | "reserved2">>>;
export interface DecodeBmpOptions {
toRGBA?: boolean;
}
declare function encode(image: Bitmap, options?: EncodeOptions): Buffer;
declare function decode(data: Buffer, options?: DecodeBmpOptions): Bitmap;
export declare function msBmp(): {
mime: "image/x-ms-bmp";
encode: typeof encode;
decode: typeof decode;
};
export default function bmp(): {
mime: "image/bmp";
encode: typeof encode;
decode: typeof decode;
};
//# sourceMappingURL=index.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAE,MAAM,EAAU,MAAM,aAAa,CAAC;AAE7C,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,KAAK,MAAM,CAAC,CAAC,IAAI;KAEd,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAChD,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACZ,CAAC,CAAC,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAChC,OAAO,CACL,IAAI,CACF,GAAG,CAAC,QAAQ,EACV,SAAS,GACT,QAAQ,GACR,iBAAiB,GACjB,IAAI,GACJ,IAAI,GACJ,WAAW,GACX,WAAW,CACd,CACF,CACF,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,iBAAS,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,UAqBzD;AAED,iBAAS,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAsBrC,MAAM,CACxB;AAED,wBAAgB,KAAK;;;;EAMpB;AAED,MAAM,CAAC,OAAO,UAAU,GAAG;;;;EAM1B"}
+74
View File
@@ -0,0 +1,74 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BmpCompression = void 0;
exports.msBmp = msBmp;
exports.default = bmp;
const BMP = __importStar(require("bmp-ts"));
const utils_1 = require("@jimp/utils");
var bmp_ts_1 = require("bmp-ts");
Object.defineProperty(exports, "BmpCompression", { enumerable: true, get: function () { return bmp_ts_1.BmpCompression; } });
function encode(image, options = {}) {
(0, utils_1.scan)({ bitmap: image }, 0, 0, image.width, image.height, function (_, __, index) {
const red = image.data[index + 0];
const green = image.data[index + 1];
const blue = image.data[index + 2];
const alpha = image.data[index + 3];
image.data[index + 0] = alpha;
image.data[index + 1] = blue;
image.data[index + 2] = green;
image.data[index + 3] = red;
});
return BMP.encode({ ...image, ...options }).data;
}
function decode(data, options) {
const result = BMP.decode(data, options);
(0, utils_1.scan)({ bitmap: result }, 0, 0, result.width, result.height, function (_, __, index) {
// const alpha = result.data[index + 0]!;
const blue = result.data[index + 1];
const green = result.data[index + 2];
const red = result.data[index + 3];
result.data[index + 0] = red;
result.data[index + 1] = green;
result.data[index + 2] = blue;
result.data[index + 3] = 0xff;
});
return result;
}
function msBmp() {
return {
mime: "image/x-ms-bmp",
encode,
decode,
};
}
function bmp() {
return {
mime: "image/bmp",
encode,
decode,
};
}
//# sourceMappingURL=index.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAoFA,sBAMC;AAED,sBAMC;AAlGD,4CAA8B;AAE9B,uCAAmC;AAInC,iCAAwC;AAA/B,wGAAA,cAAc,OAAA;AA8BvB,SAAS,MAAM,CAAC,KAAa,EAAE,UAAyB,EAAE;IACxD,IAAA,YAAI,EACF,EAAE,MAAM,EAAE,KAAK,EAAE,EACjB,CAAC,EACD,CAAC,EACD,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,MAAM,EACZ,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAErC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAC9B,CAAC,CACF,CAAC;IAEF,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,OAA0B;IACtD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEzC,IAAA,YAAI,EACF,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,CAAC,EACD,CAAC,EACD,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,EACb,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK;QACpB,yCAAyC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAChC,CAAC,CACF,CAAC;IAEF,OAAO,MAAgB,CAAC;AAC1B,CAAC;AAED,SAAgB,KAAK;IACnB,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,MAAM;QACN,MAAM;KAC4B,CAAC;AACvC,CAAC;AAED,SAAwB,GAAG;IACzB,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,MAAM;QACN,MAAM;KACuB,CAAC;AAClC,CAAC"}
+3
View File
@@ -0,0 +1,3 @@
{
"type": "commonjs"
}