ilx1-x-tool 1.1.2 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -16,6 +16,113 @@ import { xxx } from 'ilx1-x-tool'
16
16
 
17
17
  ## API 文档
18
18
 
19
+ ### 图像数据处理工具 (imageData.ts)
20
+
21
+ #### 配置接口
22
+ - `IConfig` - 图像数据处理配置接口
23
+ - `reverseValue: number` - 反转数值 (0:反转数值)
24
+ - `modMode: number` - 取模方式 (0:逐行,1:逐列,2:列行,3:行列)
25
+ - `reverseBit: number` - 反转位序 (2:反转位序)
26
+ - `outputMode: number` - 输出模式 (0:十六进制数组,1:字节数组)
27
+
28
+ #### 图像处理主对象
29
+ - `ImageToHexArray` - 图像处理工具函数库主对象
30
+
31
+ #### 主要功能函数
32
+ - `generate(picData: string, thresholdData: number, config: number[]): Promise<Uint8Array>` - 生成十六进制数组
33
+ - `picData`: base64图像数据
34
+ - `thresholdData`: 阈值
35
+ - `config`: 配置数组
36
+ - 返回:十六进制数组
37
+
38
+ - `imageDataToHexArray(imageData: ImageData, threshold: number, config: number[]): Uint8Array` - ImageData 对象转 hexArray
39
+ - `imageData`: 图像数据对象
40
+ - `threshold`: 阈值
41
+ - `config`: 配置数组
42
+ - 返回:处理后的字节数组
43
+
44
+ - `colorImageSampling(pixels: Uint8ClampedArray, width: number, height: number, config: number[]): Uint8Array` - 彩色图像取模 (RGB565格式)
45
+ - `pixels`: 像素数组
46
+ - `width`: 图像宽度
47
+ - `height`: 图像高度
48
+ - `config`: 配置数组
49
+ - 返回:RGB565格式的字节数组
50
+
51
+ #### 取模函数
52
+ - `ImageSamplingRow(unpackedBuffer: number[], width: number, height: number, config: number[]): Uint8Array` - 逐行式取模 (从左到右,从上到下)
53
+ - `unpackedBuffer`: 解压后的像素缓冲区
54
+ - `width`: 图像宽度
55
+ - `height`: 图像高度
56
+ - `config`: 配置数组
57
+ - 返回:取模后的字节数组
58
+
59
+ - `ImageSamplingCol(unpackedBuffer: number[], width: number, height: number, config: number[]): Uint8Array` - 逐列式取模 (从上到下,从左到右)
60
+ - `unpackedBuffer`: 解压后的像素缓冲区
61
+ - `width`: 图像宽度
62
+ - `height`: 图像高度
63
+ - `config`: 配置数组
64
+ - 返回:取模后的字节数组
65
+
66
+ - `ImageSamplingColRow(unpackedBuffer: number[], width: number, height: number, config: number[]): Uint8Array` - 列行式取模 (先列后行)
67
+ - `unpackedBuffer`: 解压后的像素缓冲区
68
+ - `width`: 图像宽度
69
+ - `height`: 图像高度
70
+ - `config`: 配置数组
71
+ - 返回:取模后的字节数组
72
+
73
+ - `ImageSamplingRowCol(unpackedBuffer: number[], width: number, height: number, config: number[]): Uint8Array` - 行列式取模 (先行后列)
74
+ - `unpackedBuffer`: 解压后的像素缓冲区
75
+ - `width`: 图像宽度
76
+ - `height`: 图像高度
77
+ - `config`: 配置数组
78
+ - 返回:取模后的字节数组
79
+
80
+ #### 图像转换函数
81
+ - `base64ToImageData(base64Data: string): Promise<ImageData>` - base64 转 ImageData 对象
82
+ - `base64Data`: base64编码的图像数据
83
+ - 返回:ImageData对象
84
+
85
+ - `resizeImageWithKonva(width: number, height: number, image: HTMLImageElement, colorMode: boolean): Promise<string>` - 使用 Konva.js 缩放图像
86
+ - `width`: 目标宽度
87
+ - `height`: 目标高度
88
+ - `image`: 源图像对象
89
+ - `colorMode`: 是否转换为灰度
90
+ - 返回:base64编码的缩放后图像
91
+
92
+ - `resizeImageWithCanvas(width: number, height: number, image: HTMLImageElement, colorMode: boolean): Promise<string>` - 使用 Canvas API 缩放图像 (Konva不可用时的备选方案)
93
+ - `width`: 目标宽度
94
+ - `height`: 目标高度
95
+ - `image`: 源图像对象
96
+ - `colorMode`: 是否转换为灰度
97
+ - 返回:base64编码的缩放后图像
98
+
99
+ #### 数据格式转换函数
100
+ - `arrayToHex(array: Uint8Array): string` - Uint8Array 转十六进制字符串
101
+ - `array`: 字节数组
102
+ - 返回:十六进制字符串
103
+
104
+ - `hex2hex(hex: string): Array<string>` - 十六进制数据加 '0x' 前缀
105
+ - `hex`: 十六进制字符串
106
+ - 返回:带0x前缀的十六进制数组
107
+
108
+ - `generatePreview(unpackedBuffer: Uint8Array, width: number): string` - 生成取模预览 (0=白点, 1=黑点)
109
+ - `unpackedBuffer`: 解压后的像素缓冲区
110
+ - `width`: 图像宽度
111
+ - 返回:预览字符串
112
+
113
+ #### 辅助函数
114
+ - `createImageData(width: number, height: number, data: Uint8ClampedArray = null): ImageData` - 创建图像数据对象(兼容性函数)
115
+ - `width`: 图像宽度
116
+ - `height`: 图像高度
117
+ - `data`: 像素数据(可选)
118
+ - 返回:ImageData对象
119
+
120
+ - `formatHexOutput(hexArray: Uint8Array | Array<string>, format = 0, lineBreak = 16): string` - 将字节数组格式化为可读字符串
121
+ - `hexArray`: 十六进制数组
122
+ - `format`: 输出格式 (0=带0x前缀, 1=原始数组)
123
+ - `lineBreak`: 每行显示的字节数
124
+ - 返回:格式化后的字符串
125
+
19
126
  ### 颜色工具 (color.ts)
20
127
 
21
128
  #### 颜色解析与转换
package/dist/index.d.mts CHANGED
@@ -66,65 +66,26 @@ interface LoggerConfig {
66
66
  prefix: string;
67
67
  }
68
68
 
69
- declare const hidKeyCode: ({
69
+ interface HIDKey {
70
70
  key: number;
71
71
  word: string;
72
72
  dec: string;
73
73
  hex: string;
74
74
  kind: number;
75
75
  value: number;
76
- aliases: string[];
77
- } | {
78
- key: number;
79
- word: string;
80
- dec: string;
81
- hex: string;
82
- kind: number;
83
- value: number;
84
- aliases?: undefined;
85
- })[];
76
+ aliases?: string[];
77
+ }
78
+ declare const hidKeyCode: HIDKey[];
86
79
  /********************************************************************************
87
80
  * @brief: 获取 HID 键码映射(主键名 + 别名)
88
81
  * @return {*}
89
82
  ********************************************************************************/
90
- declare const getHIDCodeMapStr: () => Map<string, {
91
- key: number;
92
- word: string;
93
- dec: string;
94
- hex: string;
95
- kind: number;
96
- value: number;
97
- aliases: string[];
98
- } | {
99
- key: number;
100
- word: string;
101
- dec: string;
102
- hex: string;
103
- kind: number;
104
- value: number;
105
- aliases?: undefined;
106
- }>;
83
+ declare const getHIDCodeMapStr: () => Map<string, HIDKey>;
107
84
  /********************************************************************************
108
85
  * @brief: 获取 HID 键码映射(value 映射)
109
86
  * @return {*}
110
87
  ********************************************************************************/
111
- declare const getHIDCodeMapStrNum: () => Map<number, {
112
- key: number;
113
- word: string;
114
- dec: string;
115
- hex: string;
116
- kind: number;
117
- value: number;
118
- aliases: string[];
119
- } | {
120
- key: number;
121
- word: string;
122
- dec: string;
123
- hex: string;
124
- kind: number;
125
- value: number;
126
- aliases?: undefined;
127
- }>;
88
+ declare const getHIDCodeMapStrNum: () => Map<number, HIDKey>;
128
89
 
129
90
  /********************************************************************************
130
91
  * @brief: gzip 压缩 JSON 数据(转成 Blob,适合导出)
@@ -324,4 +285,184 @@ declare const enableAllLogs: () => void;
324
285
  ********************************************************************************/
325
286
  declare const disableAllLogs: () => void;
326
287
 
327
- export { type ConsoleType, Endianness, type Hex, type LoggerConfig, type ParsedColor, type ParsedHSL, type ParsedHSLA, type ParsedHSV, type ParsedRGB, type ParsedRGBA, type Result, asciiArrToNum, bits16ToNum, bytesToNum, compressJsonGzip, debug, decompressJsonGzip, disableAllLogs, enableAllLogs, error, errorResult, getHIDCodeMapStr, getHIDCodeMapStrNum, hidKeyCode, hslToHsv, hslToRgb, hsvToHsl, info, isImageValid, isShowPopover, log, numToAsciiArr, numToBits16, numToBytes, parseColorString, resetLoggerConfig, rgbToHsl, setLoggerConfig, successResult, warn };
288
+ /********************************************************************************
289
+ * @brief: 图像数据处理配置接口
290
+ ********************************************************************************/
291
+ interface IConfig {
292
+ reverseValue: number;
293
+ modMode: number;
294
+ reverseBit: number;
295
+ outputMode: number;
296
+ }
297
+ /********************************************************************************
298
+ * @brief: 图像处理工具函数库主对象
299
+ ********************************************************************************/
300
+ declare const ImageToHexArray: {
301
+ /********************************************************************************
302
+ * @brief: 生成十六进制数组
303
+ * @param {string} picData - base64图像数据
304
+ * @param {number} thresholdData - 阈值
305
+ * @param {Array} config - 配置数组
306
+ * @return {Promise<Array|Uint8Array>} 十六进制数组
307
+ ********************************************************************************/
308
+ generate: (picData: string, thresholdData: number, config: number[]) => Promise<Uint8Array>;
309
+ /********************************************************************************
310
+ * @brief: ImageData 对象转 hexArray
311
+ * @param {ImageData} imageData - 图像数据对象
312
+ * @param {number} threshold - 阈值
313
+ * @param {Array} config - 配置数组
314
+ * @return {Uint8Array} 处理后的字节数组
315
+ ********************************************************************************/
316
+ imageDataToHexArray: (imageData: ImageData, threshold: number, config: number[]) => Uint8Array;
317
+ /********************************************************************************
318
+ * @brief: 彩色图像取模 (RGB565格式)
319
+ * @param {Uint8ClampedArray} pixels - 像素数组
320
+ * @param {number} width - 图像宽度
321
+ * @param {number} height - 图像高度
322
+ * @param {Array} config - 配置数组
323
+ * @return {Uint8Array} RGB565格式的字节数组
324
+ ********************************************************************************/
325
+ colorImageSampling: (pixels: Uint8ClampedArray, width: number, height: number, config: number[]) => Uint8Array;
326
+ /********************************************************************************
327
+ * @brief: 逐行式取模 (从左到右,从上到下)
328
+ * @param {Array} unpackedBuffer - 解压后的像素缓冲区
329
+ * @param {number} width - 图像宽度
330
+ * @param {number} height - 图像高度
331
+ * @param {Array} config - 配置数组
332
+ * @return {Uint8Array} 取模后的字节数组
333
+ ********************************************************************************/
334
+ ImageSamplingRow: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
335
+ /********************************************************************************
336
+ * @brief: 逐列式取模 (从上到下,从左到右)
337
+ * @param {Array} unpackedBuffer - 解压后的像素缓冲区
338
+ * @param {number} width - 图像宽度
339
+ * @param {number} height - 图像高度
340
+ * @param {Array} config - 配置数组
341
+ * @return {Uint8Array} 取模后的字节数组
342
+ ********************************************************************************/
343
+ ImageSamplingCol: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
344
+ /********************************************************************************
345
+ * @brief: 列行式取模 (先列后行)
346
+ * @param {Array} unpackedBuffer - 解压后的像素缓冲区
347
+ * @param {number} width - 图像宽度
348
+ * @param {number} height - 图像高度
349
+ * @param {Array} config - 配置数组
350
+ * @return {Uint8Array} 取模后的字节数组
351
+ ********************************************************************************/
352
+ ImageSamplingColRow: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
353
+ /********************************************************************************
354
+ * @brief: 行列式取模 (先行后列)
355
+ * @param {Array} unpackedBuffer - 解压后的像素缓冲区
356
+ * @param {number} width - 图像宽度
357
+ * @param {number} height - 图像高度
358
+ * @param {Array} config - 配置数组
359
+ * @return {Uint8Array} 取模后的字节数组
360
+ ********************************************************************************/
361
+ ImageSamplingRowCol: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
362
+ /********************************************************************************
363
+ * @brief: base64 转 ImageData 对象
364
+ * @param {string} base64Data - base64编码的图像数据
365
+ * @return {Promise<ImageData>} ImageData对象
366
+ ********************************************************************************/
367
+ base64ToImageData: (base64Data: string) => Promise<ImageData>;
368
+ /********************************************************************************
369
+ * @brief: 使用 Konva.js 缩放图像
370
+ * @param {number} width - 目标宽度
371
+ * @param {number} height - 目标高度
372
+ * @param {HTMLImageElement} image - 源图像对象
373
+ * @param {boolean} colorMode - 是否转换为灰度
374
+ * @return {Promise<string>} base64编码的缩放后图像
375
+ ********************************************************************************/
376
+ resizeImageWithKonva: (width: number, height: number, image: HTMLImageElement, colorMode: boolean) => Promise<string>;
377
+ /********************************************************************************
378
+ * @brief: 使用 Canvas API 缩放图像 (Konva不可用时的备选方案)
379
+ * @param {number} width - 目标宽度
380
+ * @param {number} height - 目标高度
381
+ * @param {HTMLImageElement} image - 源图像对象
382
+ * @param {boolean} colorMode - 是否转换为灰度
383
+ * @return {Promise<string>} base64编码的缩放后图像
384
+ ********************************************************************************/
385
+ resizeImageWithCanvas: (width: any, height: any, image: any, colorMode: any) => Promise<unknown>;
386
+ /********************************************************************************
387
+ * @brief: Uint8Array 转十六进制字符串
388
+ * @param {Uint8Array} array - 字节数组
389
+ * @return {string} 十六进制字符串
390
+ ********************************************************************************/
391
+ arrayToHex: (array: any) => string;
392
+ /********************************************************************************
393
+ * @brief: 十六进制数据加 '0x' 前缀
394
+ * @param {string} hex - 十六进制字符串
395
+ * @return {Array<string>} 带0x前缀的十六进制数组
396
+ ********************************************************************************/
397
+ hex2hex: (hex: string) => Array<string>;
398
+ /********************************************************************************
399
+ * @brief: 生成取模预览 (0=白点, 1=黑点)
400
+ * @param {Uint8Array} unpackedBuffer - 解压后的像素缓冲区
401
+ * @param {number} width - 图像宽度
402
+ * @return {string} 预览字符串
403
+ ********************************************************************************/
404
+ generatePreview: (unpackedBuffer: Uint8Array, width: number) => string;
405
+ /********************************************************************************
406
+ * @brief: 创建图像数据对象(兼容性函数)
407
+ * @param {number} width - 图像宽度
408
+ * @param {number} height - 图像高度
409
+ * @param {Uint8ClampedArray} data - 像素数据
410
+ * @return {ImageData} ImageData对象
411
+ ********************************************************************************/
412
+ createImageData: (width: number, height: number, data?: Uint8ClampedArray) => ImageData;
413
+ /********************************************************************************
414
+ * @brief: 将字节数组格式化为可读字符串
415
+ * @param {Uint8Array|Array} hexArray - 十六进制数组
416
+ * @param {number} format - 输出格式 (0=带0x前缀, 1=原始数组)
417
+ * @param {number} lineBreak - 每行显示的字节数
418
+ * @return {string} 格式化后的字符串
419
+ ********************************************************************************/
420
+ formatHexOutput: (hexArray: Uint8Array | Array<string>, format?: number, lineBreak?: number) => string;
421
+ /********************************************************************************
422
+ * @brief: 计算输出字节数
423
+ * @param {Uint8Array|Array} hexArray - 十六进制数组
424
+ * @return {Object} 包含字节数和KB数的对象
425
+ ********************************************************************************/
426
+ calculateOutputSize: (hexArray: Uint8Array | Array<string>) => {
427
+ bytes: number;
428
+ kilobytes: number;
429
+ formatted: string;
430
+ };
431
+ /********************************************************************************
432
+ * @brief: 获取取模方式描述
433
+ * @param {number} mode - 取模方式代码
434
+ * @return {string} 取模方式描述
435
+ ********************************************************************************/
436
+ getSamplingModeDescription: (mode: number) => string;
437
+ /********************************************************************************
438
+ * @brief: 获取配置数组的默认值
439
+ * @param: 无
440
+ * @return {Array} 默认配置数组
441
+ ********************************************************************************/
442
+ getDefaultConfig: () => number[];
443
+ };
444
+ /********************************************************************************
445
+ * @brief: 为了方便使用,单独导出每个函数
446
+ * @param: 无
447
+ * @return: 函数引用
448
+ ********************************************************************************/
449
+ declare const generate: any;
450
+ declare const imageDataToHexArray: any;
451
+ declare const colorImageSampling: any;
452
+ declare const ImageSamplingRow: any;
453
+ declare const ImageSamplingCol: any;
454
+ declare const ImageSamplingColRow: any;
455
+ declare const ImageSamplingRowCol: any;
456
+ declare const base64ToImageData: any;
457
+ declare const resizeImageWithKonva: any;
458
+ declare const resizeImageWithCanvas: any;
459
+ declare const arrayToHex: any;
460
+ declare const hex2hex: any;
461
+ declare const generatePreview: any;
462
+ declare const createImageData: any;
463
+ declare const formatHexOutput: any;
464
+ declare const calculateOutputSize: any;
465
+ declare const getSamplingModeDescription: any;
466
+ declare const getDefaultConfig: any;
467
+
468
+ export { type ConsoleType, Endianness, type Hex, type IConfig, ImageSamplingCol, ImageSamplingColRow, ImageSamplingRow, ImageSamplingRowCol, ImageToHexArray, type LoggerConfig, type ParsedColor, type ParsedHSL, type ParsedHSLA, type ParsedHSV, type ParsedRGB, type ParsedRGBA, type Result, arrayToHex, asciiArrToNum, base64ToImageData, bits16ToNum, bytesToNum, calculateOutputSize, colorImageSampling, compressJsonGzip, createImageData, debug, decompressJsonGzip, disableAllLogs, enableAllLogs, error, errorResult, formatHexOutput, generate, generatePreview, getDefaultConfig, getHIDCodeMapStr, getHIDCodeMapStrNum, getSamplingModeDescription, hex2hex, hidKeyCode, hslToHsv, hslToRgb, hsvToHsl, imageDataToHexArray, info, isImageValid, isShowPopover, log, numToAsciiArr, numToBits16, numToBytes, parseColorString, resetLoggerConfig, resizeImageWithCanvas, resizeImageWithKonva, rgbToHsl, setLoggerConfig, successResult, warn };
package/dist/index.d.ts CHANGED
@@ -66,65 +66,26 @@ interface LoggerConfig {
66
66
  prefix: string;
67
67
  }
68
68
 
69
- declare const hidKeyCode: ({
69
+ interface HIDKey {
70
70
  key: number;
71
71
  word: string;
72
72
  dec: string;
73
73
  hex: string;
74
74
  kind: number;
75
75
  value: number;
76
- aliases: string[];
77
- } | {
78
- key: number;
79
- word: string;
80
- dec: string;
81
- hex: string;
82
- kind: number;
83
- value: number;
84
- aliases?: undefined;
85
- })[];
76
+ aliases?: string[];
77
+ }
78
+ declare const hidKeyCode: HIDKey[];
86
79
  /********************************************************************************
87
80
  * @brief: 获取 HID 键码映射(主键名 + 别名)
88
81
  * @return {*}
89
82
  ********************************************************************************/
90
- declare const getHIDCodeMapStr: () => Map<string, {
91
- key: number;
92
- word: string;
93
- dec: string;
94
- hex: string;
95
- kind: number;
96
- value: number;
97
- aliases: string[];
98
- } | {
99
- key: number;
100
- word: string;
101
- dec: string;
102
- hex: string;
103
- kind: number;
104
- value: number;
105
- aliases?: undefined;
106
- }>;
83
+ declare const getHIDCodeMapStr: () => Map<string, HIDKey>;
107
84
  /********************************************************************************
108
85
  * @brief: 获取 HID 键码映射(value 映射)
109
86
  * @return {*}
110
87
  ********************************************************************************/
111
- declare const getHIDCodeMapStrNum: () => Map<number, {
112
- key: number;
113
- word: string;
114
- dec: string;
115
- hex: string;
116
- kind: number;
117
- value: number;
118
- aliases: string[];
119
- } | {
120
- key: number;
121
- word: string;
122
- dec: string;
123
- hex: string;
124
- kind: number;
125
- value: number;
126
- aliases?: undefined;
127
- }>;
88
+ declare const getHIDCodeMapStrNum: () => Map<number, HIDKey>;
128
89
 
129
90
  /********************************************************************************
130
91
  * @brief: gzip 压缩 JSON 数据(转成 Blob,适合导出)
@@ -324,4 +285,184 @@ declare const enableAllLogs: () => void;
324
285
  ********************************************************************************/
325
286
  declare const disableAllLogs: () => void;
326
287
 
327
- export { type ConsoleType, Endianness, type Hex, type LoggerConfig, type ParsedColor, type ParsedHSL, type ParsedHSLA, type ParsedHSV, type ParsedRGB, type ParsedRGBA, type Result, asciiArrToNum, bits16ToNum, bytesToNum, compressJsonGzip, debug, decompressJsonGzip, disableAllLogs, enableAllLogs, error, errorResult, getHIDCodeMapStr, getHIDCodeMapStrNum, hidKeyCode, hslToHsv, hslToRgb, hsvToHsl, info, isImageValid, isShowPopover, log, numToAsciiArr, numToBits16, numToBytes, parseColorString, resetLoggerConfig, rgbToHsl, setLoggerConfig, successResult, warn };
288
+ /********************************************************************************
289
+ * @brief: 图像数据处理配置接口
290
+ ********************************************************************************/
291
+ interface IConfig {
292
+ reverseValue: number;
293
+ modMode: number;
294
+ reverseBit: number;
295
+ outputMode: number;
296
+ }
297
+ /********************************************************************************
298
+ * @brief: 图像处理工具函数库主对象
299
+ ********************************************************************************/
300
+ declare const ImageToHexArray: {
301
+ /********************************************************************************
302
+ * @brief: 生成十六进制数组
303
+ * @param {string} picData - base64图像数据
304
+ * @param {number} thresholdData - 阈值
305
+ * @param {Array} config - 配置数组
306
+ * @return {Promise<Array|Uint8Array>} 十六进制数组
307
+ ********************************************************************************/
308
+ generate: (picData: string, thresholdData: number, config: number[]) => Promise<Uint8Array>;
309
+ /********************************************************************************
310
+ * @brief: ImageData 对象转 hexArray
311
+ * @param {ImageData} imageData - 图像数据对象
312
+ * @param {number} threshold - 阈值
313
+ * @param {Array} config - 配置数组
314
+ * @return {Uint8Array} 处理后的字节数组
315
+ ********************************************************************************/
316
+ imageDataToHexArray: (imageData: ImageData, threshold: number, config: number[]) => Uint8Array;
317
+ /********************************************************************************
318
+ * @brief: 彩色图像取模 (RGB565格式)
319
+ * @param {Uint8ClampedArray} pixels - 像素数组
320
+ * @param {number} width - 图像宽度
321
+ * @param {number} height - 图像高度
322
+ * @param {Array} config - 配置数组
323
+ * @return {Uint8Array} RGB565格式的字节数组
324
+ ********************************************************************************/
325
+ colorImageSampling: (pixels: Uint8ClampedArray, width: number, height: number, config: number[]) => Uint8Array;
326
+ /********************************************************************************
327
+ * @brief: 逐行式取模 (从左到右,从上到下)
328
+ * @param {Array} unpackedBuffer - 解压后的像素缓冲区
329
+ * @param {number} width - 图像宽度
330
+ * @param {number} height - 图像高度
331
+ * @param {Array} config - 配置数组
332
+ * @return {Uint8Array} 取模后的字节数组
333
+ ********************************************************************************/
334
+ ImageSamplingRow: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
335
+ /********************************************************************************
336
+ * @brief: 逐列式取模 (从上到下,从左到右)
337
+ * @param {Array} unpackedBuffer - 解压后的像素缓冲区
338
+ * @param {number} width - 图像宽度
339
+ * @param {number} height - 图像高度
340
+ * @param {Array} config - 配置数组
341
+ * @return {Uint8Array} 取模后的字节数组
342
+ ********************************************************************************/
343
+ ImageSamplingCol: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
344
+ /********************************************************************************
345
+ * @brief: 列行式取模 (先列后行)
346
+ * @param {Array} unpackedBuffer - 解压后的像素缓冲区
347
+ * @param {number} width - 图像宽度
348
+ * @param {number} height - 图像高度
349
+ * @param {Array} config - 配置数组
350
+ * @return {Uint8Array} 取模后的字节数组
351
+ ********************************************************************************/
352
+ ImageSamplingColRow: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
353
+ /********************************************************************************
354
+ * @brief: 行列式取模 (先行后列)
355
+ * @param {Array} unpackedBuffer - 解压后的像素缓冲区
356
+ * @param {number} width - 图像宽度
357
+ * @param {number} height - 图像高度
358
+ * @param {Array} config - 配置数组
359
+ * @return {Uint8Array} 取模后的字节数组
360
+ ********************************************************************************/
361
+ ImageSamplingRowCol: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
362
+ /********************************************************************************
363
+ * @brief: base64 转 ImageData 对象
364
+ * @param {string} base64Data - base64编码的图像数据
365
+ * @return {Promise<ImageData>} ImageData对象
366
+ ********************************************************************************/
367
+ base64ToImageData: (base64Data: string) => Promise<ImageData>;
368
+ /********************************************************************************
369
+ * @brief: 使用 Konva.js 缩放图像
370
+ * @param {number} width - 目标宽度
371
+ * @param {number} height - 目标高度
372
+ * @param {HTMLImageElement} image - 源图像对象
373
+ * @param {boolean} colorMode - 是否转换为灰度
374
+ * @return {Promise<string>} base64编码的缩放后图像
375
+ ********************************************************************************/
376
+ resizeImageWithKonva: (width: number, height: number, image: HTMLImageElement, colorMode: boolean) => Promise<string>;
377
+ /********************************************************************************
378
+ * @brief: 使用 Canvas API 缩放图像 (Konva不可用时的备选方案)
379
+ * @param {number} width - 目标宽度
380
+ * @param {number} height - 目标高度
381
+ * @param {HTMLImageElement} image - 源图像对象
382
+ * @param {boolean} colorMode - 是否转换为灰度
383
+ * @return {Promise<string>} base64编码的缩放后图像
384
+ ********************************************************************************/
385
+ resizeImageWithCanvas: (width: any, height: any, image: any, colorMode: any) => Promise<unknown>;
386
+ /********************************************************************************
387
+ * @brief: Uint8Array 转十六进制字符串
388
+ * @param {Uint8Array} array - 字节数组
389
+ * @return {string} 十六进制字符串
390
+ ********************************************************************************/
391
+ arrayToHex: (array: any) => string;
392
+ /********************************************************************************
393
+ * @brief: 十六进制数据加 '0x' 前缀
394
+ * @param {string} hex - 十六进制字符串
395
+ * @return {Array<string>} 带0x前缀的十六进制数组
396
+ ********************************************************************************/
397
+ hex2hex: (hex: string) => Array<string>;
398
+ /********************************************************************************
399
+ * @brief: 生成取模预览 (0=白点, 1=黑点)
400
+ * @param {Uint8Array} unpackedBuffer - 解压后的像素缓冲区
401
+ * @param {number} width - 图像宽度
402
+ * @return {string} 预览字符串
403
+ ********************************************************************************/
404
+ generatePreview: (unpackedBuffer: Uint8Array, width: number) => string;
405
+ /********************************************************************************
406
+ * @brief: 创建图像数据对象(兼容性函数)
407
+ * @param {number} width - 图像宽度
408
+ * @param {number} height - 图像高度
409
+ * @param {Uint8ClampedArray} data - 像素数据
410
+ * @return {ImageData} ImageData对象
411
+ ********************************************************************************/
412
+ createImageData: (width: number, height: number, data?: Uint8ClampedArray) => ImageData;
413
+ /********************************************************************************
414
+ * @brief: 将字节数组格式化为可读字符串
415
+ * @param {Uint8Array|Array} hexArray - 十六进制数组
416
+ * @param {number} format - 输出格式 (0=带0x前缀, 1=原始数组)
417
+ * @param {number} lineBreak - 每行显示的字节数
418
+ * @return {string} 格式化后的字符串
419
+ ********************************************************************************/
420
+ formatHexOutput: (hexArray: Uint8Array | Array<string>, format?: number, lineBreak?: number) => string;
421
+ /********************************************************************************
422
+ * @brief: 计算输出字节数
423
+ * @param {Uint8Array|Array} hexArray - 十六进制数组
424
+ * @return {Object} 包含字节数和KB数的对象
425
+ ********************************************************************************/
426
+ calculateOutputSize: (hexArray: Uint8Array | Array<string>) => {
427
+ bytes: number;
428
+ kilobytes: number;
429
+ formatted: string;
430
+ };
431
+ /********************************************************************************
432
+ * @brief: 获取取模方式描述
433
+ * @param {number} mode - 取模方式代码
434
+ * @return {string} 取模方式描述
435
+ ********************************************************************************/
436
+ getSamplingModeDescription: (mode: number) => string;
437
+ /********************************************************************************
438
+ * @brief: 获取配置数组的默认值
439
+ * @param: 无
440
+ * @return {Array} 默认配置数组
441
+ ********************************************************************************/
442
+ getDefaultConfig: () => number[];
443
+ };
444
+ /********************************************************************************
445
+ * @brief: 为了方便使用,单独导出每个函数
446
+ * @param: 无
447
+ * @return: 函数引用
448
+ ********************************************************************************/
449
+ declare const generate: any;
450
+ declare const imageDataToHexArray: any;
451
+ declare const colorImageSampling: any;
452
+ declare const ImageSamplingRow: any;
453
+ declare const ImageSamplingCol: any;
454
+ declare const ImageSamplingColRow: any;
455
+ declare const ImageSamplingRowCol: any;
456
+ declare const base64ToImageData: any;
457
+ declare const resizeImageWithKonva: any;
458
+ declare const resizeImageWithCanvas: any;
459
+ declare const arrayToHex: any;
460
+ declare const hex2hex: any;
461
+ declare const generatePreview: any;
462
+ declare const createImageData: any;
463
+ declare const formatHexOutput: any;
464
+ declare const calculateOutputSize: any;
465
+ declare const getSamplingModeDescription: any;
466
+ declare const getDefaultConfig: any;
467
+
468
+ export { type ConsoleType, Endianness, type Hex, type IConfig, ImageSamplingCol, ImageSamplingColRow, ImageSamplingRow, ImageSamplingRowCol, ImageToHexArray, type LoggerConfig, type ParsedColor, type ParsedHSL, type ParsedHSLA, type ParsedHSV, type ParsedRGB, type ParsedRGBA, type Result, arrayToHex, asciiArrToNum, base64ToImageData, bits16ToNum, bytesToNum, calculateOutputSize, colorImageSampling, compressJsonGzip, createImageData, debug, decompressJsonGzip, disableAllLogs, enableAllLogs, error, errorResult, formatHexOutput, generate, generatePreview, getDefaultConfig, getHIDCodeMapStr, getHIDCodeMapStrNum, getSamplingModeDescription, hex2hex, hidKeyCode, hslToHsv, hslToRgb, hsvToHsl, imageDataToHexArray, info, isImageValid, isShowPopover, log, numToAsciiArr, numToBits16, numToBytes, parseColorString, resetLoggerConfig, resizeImageWithCanvas, resizeImageWithKonva, rgbToHsl, setLoggerConfig, successResult, warn };