perf: 优化合图功能
This commit is contained in:
54
src/types/upng-js.d.ts
vendored
Normal file
54
src/types/upng-js.d.ts
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
declare module "upng-js" {
|
||||
/**
|
||||
* Encode RGBA image data to PNG
|
||||
* @param imgs Array of ArrayBuffer containing RGBA data
|
||||
* @param w Width of the image
|
||||
* @param h Height of the image
|
||||
* @param cnum Number of colors (0 = lossless, 256 = 8-bit quantization)
|
||||
* @param dels Optional delays for APNG frames
|
||||
* @returns ArrayBuffer containing PNG data
|
||||
*/
|
||||
export function encode(
|
||||
imgs: ArrayBuffer[],
|
||||
w: number,
|
||||
h: number,
|
||||
cnum: number,
|
||||
dels?: number[]
|
||||
): ArrayBuffer;
|
||||
|
||||
/**
|
||||
* Decode PNG to RGBA image data
|
||||
* @param buffer PNG data
|
||||
* @returns Decoded image info
|
||||
*/
|
||||
export function decode(buffer: ArrayBuffer): {
|
||||
width: number;
|
||||
height: number;
|
||||
depth: number;
|
||||
ctype: number;
|
||||
frames: Array<{
|
||||
rect: { x: number; y: number; width: number; height: number };
|
||||
delay: number;
|
||||
dispose: number;
|
||||
blend: number;
|
||||
}>;
|
||||
tabs: Record<string, unknown>;
|
||||
data: Uint8Array;
|
||||
};
|
||||
|
||||
/**
|
||||
* Convert decoded PNG to RGBA format
|
||||
* @param img Decoded image from decode()
|
||||
* @param frameIndex Frame index for APNG (default 0)
|
||||
* @returns Uint8Array of RGBA data
|
||||
*/
|
||||
export function toRGBA8(img: ReturnType<typeof decode>, frameIndex?: number): Uint8Array[];
|
||||
|
||||
const UPNG: {
|
||||
encode: typeof encode;
|
||||
decode: typeof decode;
|
||||
toRGBA8: typeof toRGBA8;
|
||||
};
|
||||
|
||||
export default UPNG;
|
||||
}
|
||||
Reference in New Issue
Block a user