ilx1-x-tool 1.1.1 → 1.2.2
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 +107 -0
- package/dist/index.d.mts +265 -1
- package/dist/index.d.ts +265 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -2
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
|
@@ -48,6 +48,24 @@ interface ParsedHSLA {
|
|
|
48
48
|
type ParsedColor = ParsedRGB | ParsedRGBA | ParsedHSV | ParsedHSL | ParsedHSLA;
|
|
49
49
|
type Hex = `#${string}`;
|
|
50
50
|
|
|
51
|
+
/**
|
|
52
|
+
* @brief: 日志类型枚举(对应原生console的方法类型)
|
|
53
|
+
* @desc: 限定支持的日志类型,避免非法日志调用
|
|
54
|
+
*/
|
|
55
|
+
type ConsoleType = 'log' | 'info' | 'warn' | 'error' | 'debug';
|
|
56
|
+
/**
|
|
57
|
+
* @brief: 日志工具配置项接口
|
|
58
|
+
* @desc: 定义日志工具的核心配置参数类型
|
|
59
|
+
*/
|
|
60
|
+
interface LoggerConfig {
|
|
61
|
+
/** 是否开启调试模式(true=输出日志,false=关闭日志) */
|
|
62
|
+
enable: boolean;
|
|
63
|
+
/** 强制保留的日志类型(即使关闭调试,这些类型仍会输出) */
|
|
64
|
+
reserveTypes: ConsoleType[];
|
|
65
|
+
/** 日志前缀(用于区分自定义日志和原生日志) */
|
|
66
|
+
prefix: string;
|
|
67
|
+
}
|
|
68
|
+
|
|
51
69
|
declare const hidKeyCode: ({
|
|
52
70
|
key: number;
|
|
53
71
|
word: string;
|
|
@@ -233,4 +251,250 @@ declare function hsvToHsl(hsv: ParsedHSV): ParsedColor;
|
|
|
233
251
|
********************************************************************************/
|
|
234
252
|
declare function hslToHsv(hsl: ParsedHSL): ParsedColor;
|
|
235
253
|
|
|
236
|
-
|
|
254
|
+
/********************************************************************************
|
|
255
|
+
* @file: logger.ts
|
|
256
|
+
* @brief: 可开关的Console日志工具函数封装(兼容CJS/ESM双环境)
|
|
257
|
+
* @desc: 支持开发/生产环境自动切换日志输出,可保留关键错误日志,支持动态配置开关
|
|
258
|
+
* @note: 移除import.meta依赖,兼容CommonJS/ESModule双模块格式
|
|
259
|
+
********************************************************************************/
|
|
260
|
+
|
|
261
|
+
declare global {
|
|
262
|
+
/**
|
|
263
|
+
* @brief: 扩展Window接口,添加自定义环境变量属性__ENV__
|
|
264
|
+
* @desc: 解决TS2339错误:Property '__ENV__' does not exist on type 'Window'
|
|
265
|
+
*/
|
|
266
|
+
interface Window {
|
|
267
|
+
__ENV__?: {
|
|
268
|
+
MODE: 'development' | 'production' | string;
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/********************************************************************************
|
|
273
|
+
* @brief: 封装console.log方法(可开关控制)
|
|
274
|
+
* @param {any[]} args 日志打印参数(任意数量、任意类型)
|
|
275
|
+
* @return {void} 无返回值
|
|
276
|
+
********************************************************************************/
|
|
277
|
+
declare const log: (...args: any[]) => void;
|
|
278
|
+
/********************************************************************************
|
|
279
|
+
* @brief: 封装console.info方法(可开关控制)
|
|
280
|
+
* @param {any[]} args 日志打印参数(任意数量、任意类型)
|
|
281
|
+
* @return {void} 无返回值
|
|
282
|
+
********************************************************************************/
|
|
283
|
+
declare const info: (...args: any[]) => void;
|
|
284
|
+
/********************************************************************************
|
|
285
|
+
* @brief: 封装console.warn方法(可开关控制)
|
|
286
|
+
* @param {any[]} args 日志打印参数(任意数量、任意类型)
|
|
287
|
+
* @return {void} 无返回值
|
|
288
|
+
********************************************************************************/
|
|
289
|
+
declare const warn: (...args: any[]) => void;
|
|
290
|
+
/********************************************************************************
|
|
291
|
+
* @brief: 封装console.error方法(可开关控制,默认生产环境保留)
|
|
292
|
+
* @param {any[]} args 日志打印参数(任意数量、任意类型)
|
|
293
|
+
* @return {void} 无返回值
|
|
294
|
+
********************************************************************************/
|
|
295
|
+
declare const error: (...args: any[]) => void;
|
|
296
|
+
/********************************************************************************
|
|
297
|
+
* @brief: 封装console.debug方法(可开关控制)
|
|
298
|
+
* @param {any[]} args 日志打印参数(任意数量、任意类型)
|
|
299
|
+
* @return {void} 无返回值
|
|
300
|
+
********************************************************************************/
|
|
301
|
+
declare const debug: (...args: any[]) => void;
|
|
302
|
+
/********************************************************************************
|
|
303
|
+
* @brief: 动态修改日志工具配置
|
|
304
|
+
* @param {Partial<LoggerConfig>} config 要修改的配置项(可选,无需传全部)
|
|
305
|
+
* @return {void} 无返回值
|
|
306
|
+
* @example:
|
|
307
|
+
* setLoggerConfig({ enable: false }); // 全局关闭所有日志
|
|
308
|
+
* setLoggerConfig({ reserveTypes: ['error', 'warn'] }); // 保留错误和警告日志
|
|
309
|
+
********************************************************************************/
|
|
310
|
+
declare const setLoggerConfig: (config: Partial<LoggerConfig>) => void;
|
|
311
|
+
/********************************************************************************
|
|
312
|
+
* @brief: 重置日志工具配置为默认值
|
|
313
|
+
* @return {void} 无返回值
|
|
314
|
+
********************************************************************************/
|
|
315
|
+
declare const resetLoggerConfig: () => void;
|
|
316
|
+
/********************************************************************************
|
|
317
|
+
* @brief: 强制开启所有日志(临时调试用)
|
|
318
|
+
* @return {void} 无返回值
|
|
319
|
+
********************************************************************************/
|
|
320
|
+
declare const enableAllLogs: () => void;
|
|
321
|
+
/********************************************************************************
|
|
322
|
+
* @brief: 强制关闭所有日志(紧急生产环境用)
|
|
323
|
+
* @return {void} 无返回值
|
|
324
|
+
********************************************************************************/
|
|
325
|
+
declare const disableAllLogs: () => void;
|
|
326
|
+
|
|
327
|
+
/********************************************************************************
|
|
328
|
+
* @brief: 图像处理工具函数库主对象
|
|
329
|
+
* @param: 无
|
|
330
|
+
* @return: ImageToHexArray 对象
|
|
331
|
+
********************************************************************************/
|
|
332
|
+
declare const ImageToHexArray: {
|
|
333
|
+
/********************************************************************************
|
|
334
|
+
* @brief: 生成十六进制数组
|
|
335
|
+
* @param {string} picData - base64图像数据
|
|
336
|
+
* @param {number} thresholdData - 阈值
|
|
337
|
+
* @param {Array} config - 配置数组
|
|
338
|
+
* @return {Promise<Array|Uint8Array>} 十六进制数组
|
|
339
|
+
********************************************************************************/
|
|
340
|
+
generate: (picData: string, thresholdData: number, config: number[]) => Promise<Uint8Array>;
|
|
341
|
+
/********************************************************************************
|
|
342
|
+
* @brief: ImageData 对象转 hexArray
|
|
343
|
+
* @param {ImageData} imageData - 图像数据对象
|
|
344
|
+
* @param {number} threshold - 阈值
|
|
345
|
+
* @param {Array} config - 配置数组
|
|
346
|
+
* @return {Uint8Array} 处理后的字节数组
|
|
347
|
+
********************************************************************************/
|
|
348
|
+
imageDataToHexArray: (imageData: ImageData, threshold: number, config: number[]) => Uint8Array;
|
|
349
|
+
/********************************************************************************
|
|
350
|
+
* @brief: 彩色图像取模 (RGB565格式)
|
|
351
|
+
* @param {Uint8ClampedArray} pixels - 像素数组
|
|
352
|
+
* @param {number} width - 图像宽度
|
|
353
|
+
* @param {number} height - 图像高度
|
|
354
|
+
* @param {Array} config - 配置数组
|
|
355
|
+
* @return {Uint8Array} RGB565格式的字节数组
|
|
356
|
+
********************************************************************************/
|
|
357
|
+
colorImageSampling: (pixels: Uint8ClampedArray, width: number, height: number, config: number[]) => Uint8Array;
|
|
358
|
+
/********************************************************************************
|
|
359
|
+
* @brief: 逐行式取模 (从左到右,从上到下)
|
|
360
|
+
* @param {Array} unpackedBuffer - 解压后的像素缓冲区
|
|
361
|
+
* @param {number} width - 图像宽度
|
|
362
|
+
* @param {number} height - 图像高度
|
|
363
|
+
* @param {Array} config - 配置数组
|
|
364
|
+
* @return {Uint8Array} 取模后的字节数组
|
|
365
|
+
********************************************************************************/
|
|
366
|
+
ImageSamplingRow: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
|
|
367
|
+
/********************************************************************************
|
|
368
|
+
* @brief: 逐列式取模 (从上到下,从左到右)
|
|
369
|
+
* @param {Array} unpackedBuffer - 解压后的像素缓冲区
|
|
370
|
+
* @param {number} width - 图像宽度
|
|
371
|
+
* @param {number} height - 图像高度
|
|
372
|
+
* @param {Array} config - 配置数组
|
|
373
|
+
* @return {Uint8Array} 取模后的字节数组
|
|
374
|
+
********************************************************************************/
|
|
375
|
+
ImageSamplingCol: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
|
|
376
|
+
/********************************************************************************
|
|
377
|
+
* @brief: 列行式取模 (先列后行)
|
|
378
|
+
* @param {Array} unpackedBuffer - 解压后的像素缓冲区
|
|
379
|
+
* @param {number} width - 图像宽度
|
|
380
|
+
* @param {number} height - 图像高度
|
|
381
|
+
* @param {Array} config - 配置数组
|
|
382
|
+
* @return {Uint8Array} 取模后的字节数组
|
|
383
|
+
********************************************************************************/
|
|
384
|
+
ImageSamplingColRow: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
|
|
385
|
+
/********************************************************************************
|
|
386
|
+
* @brief: 行列式取模 (先行后列)
|
|
387
|
+
* @param {Array} unpackedBuffer - 解压后的像素缓冲区
|
|
388
|
+
* @param {number} width - 图像宽度
|
|
389
|
+
* @param {number} height - 图像高度
|
|
390
|
+
* @param {Array} config - 配置数组
|
|
391
|
+
* @return {Uint8Array} 取模后的字节数组
|
|
392
|
+
********************************************************************************/
|
|
393
|
+
ImageSamplingRowCol: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
|
|
394
|
+
/********************************************************************************
|
|
395
|
+
* @brief: base64 转 ImageData 对象
|
|
396
|
+
* @param {string} base64Data - base64编码的图像数据
|
|
397
|
+
* @return {Promise<ImageData>} ImageData对象
|
|
398
|
+
********************************************************************************/
|
|
399
|
+
base64ToImageData: (base64Data: string) => Promise<ImageData>;
|
|
400
|
+
/********************************************************************************
|
|
401
|
+
* @brief: 使用 Konva.js 缩放图像
|
|
402
|
+
* @param {number} width - 目标宽度
|
|
403
|
+
* @param {number} height - 目标高度
|
|
404
|
+
* @param {HTMLImageElement} image - 源图像对象
|
|
405
|
+
* @param {boolean} colorMode - 是否转换为灰度
|
|
406
|
+
* @return {Promise<string>} base64编码的缩放后图像
|
|
407
|
+
********************************************************************************/
|
|
408
|
+
resizeImageWithKonva: (width: number, height: number, image: HTMLImageElement, colorMode: boolean) => Promise<string>;
|
|
409
|
+
/********************************************************************************
|
|
410
|
+
* @brief: 使用 Canvas API 缩放图像 (Konva不可用时的备选方案)
|
|
411
|
+
* @param {number} width - 目标宽度
|
|
412
|
+
* @param {number} height - 目标高度
|
|
413
|
+
* @param {HTMLImageElement} image - 源图像对象
|
|
414
|
+
* @param {boolean} colorMode - 是否转换为灰度
|
|
415
|
+
* @return {Promise<string>} base64编码的缩放后图像
|
|
416
|
+
********************************************************************************/
|
|
417
|
+
resizeImageWithCanvas: (width: any, height: any, image: any, colorMode: any) => Promise<unknown>;
|
|
418
|
+
/********************************************************************************
|
|
419
|
+
* @brief: Uint8Array 转十六进制字符串
|
|
420
|
+
* @param {Uint8Array} array - 字节数组
|
|
421
|
+
* @return {string} 十六进制字符串
|
|
422
|
+
********************************************************************************/
|
|
423
|
+
arrayToHex: (array: any) => string;
|
|
424
|
+
/********************************************************************************
|
|
425
|
+
* @brief: 十六进制数据加 '0x' 前缀
|
|
426
|
+
* @param {string} hex - 十六进制字符串
|
|
427
|
+
* @return {Array<string>} 带0x前缀的十六进制数组
|
|
428
|
+
********************************************************************************/
|
|
429
|
+
hex2hex: (hex: string) => Array<string>;
|
|
430
|
+
/********************************************************************************
|
|
431
|
+
* @brief: 生成取模预览 (0=白点, 1=黑点)
|
|
432
|
+
* @param {Uint8Array} unpackedBuffer - 解压后的像素缓冲区
|
|
433
|
+
* @param {number} width - 图像宽度
|
|
434
|
+
* @return {string} 预览字符串
|
|
435
|
+
********************************************************************************/
|
|
436
|
+
generatePreview: (unpackedBuffer: Uint8Array, width: number) => string;
|
|
437
|
+
/********************************************************************************
|
|
438
|
+
* @brief: 创建图像数据对象(兼容性函数)
|
|
439
|
+
* @param {number} width - 图像宽度
|
|
440
|
+
* @param {number} height - 图像高度
|
|
441
|
+
* @param {Uint8ClampedArray} data - 像素数据
|
|
442
|
+
* @return {ImageData} ImageData对象
|
|
443
|
+
********************************************************************************/
|
|
444
|
+
createImageData: (width: number, height: number, data?: Uint8ClampedArray) => ImageData;
|
|
445
|
+
/********************************************************************************
|
|
446
|
+
* @brief: 将字节数组格式化为可读字符串
|
|
447
|
+
* @param {Uint8Array|Array} hexArray - 十六进制数组
|
|
448
|
+
* @param {number} format - 输出格式 (0=带0x前缀, 1=原始数组)
|
|
449
|
+
* @param {number} lineBreak - 每行显示的字节数
|
|
450
|
+
* @return {string} 格式化后的字符串
|
|
451
|
+
********************************************************************************/
|
|
452
|
+
formatHexOutput: (hexArray: Uint8Array | Array<string>, format?: number, lineBreak?: number) => string;
|
|
453
|
+
/********************************************************************************
|
|
454
|
+
* @brief: 计算输出字节数
|
|
455
|
+
* @param {Uint8Array|Array} hexArray - 十六进制数组
|
|
456
|
+
* @return {Object} 包含字节数和KB数的对象
|
|
457
|
+
********************************************************************************/
|
|
458
|
+
calculateOutputSize: (hexArray: Uint8Array | Array<string>) => {
|
|
459
|
+
bytes: number;
|
|
460
|
+
kilobytes: number;
|
|
461
|
+
formatted: string;
|
|
462
|
+
};
|
|
463
|
+
/********************************************************************************
|
|
464
|
+
* @brief: 获取取模方式描述
|
|
465
|
+
* @param {number} mode - 取模方式代码
|
|
466
|
+
* @return {string} 取模方式描述
|
|
467
|
+
********************************************************************************/
|
|
468
|
+
getSamplingModeDescription: (mode: number) => string;
|
|
469
|
+
/********************************************************************************
|
|
470
|
+
* @brief: 获取配置数组的默认值
|
|
471
|
+
* @param: 无
|
|
472
|
+
* @return {Array} 默认配置数组
|
|
473
|
+
********************************************************************************/
|
|
474
|
+
getDefaultConfig: () => number[];
|
|
475
|
+
};
|
|
476
|
+
/********************************************************************************
|
|
477
|
+
* @brief: 为了方便使用,单独导出每个函数
|
|
478
|
+
* @param: 无
|
|
479
|
+
* @return: 函数引用
|
|
480
|
+
********************************************************************************/
|
|
481
|
+
declare const generate: any;
|
|
482
|
+
declare const imageDataToHexArray: any;
|
|
483
|
+
declare const colorImageSampling: any;
|
|
484
|
+
declare const ImageSamplingRow: any;
|
|
485
|
+
declare const ImageSamplingCol: any;
|
|
486
|
+
declare const ImageSamplingColRow: any;
|
|
487
|
+
declare const ImageSamplingRowCol: any;
|
|
488
|
+
declare const base64ToImageData: any;
|
|
489
|
+
declare const resizeImageWithKonva: any;
|
|
490
|
+
declare const resizeImageWithCanvas: any;
|
|
491
|
+
declare const arrayToHex: any;
|
|
492
|
+
declare const hex2hex: any;
|
|
493
|
+
declare const generatePreview: any;
|
|
494
|
+
declare const createImageData: any;
|
|
495
|
+
declare const formatHexOutput: any;
|
|
496
|
+
declare const calculateOutputSize: any;
|
|
497
|
+
declare const getSamplingModeDescription: any;
|
|
498
|
+
declare const getDefaultConfig: any;
|
|
499
|
+
|
|
500
|
+
export { type ConsoleType, Endianness, type Hex, 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
|
@@ -48,6 +48,24 @@ interface ParsedHSLA {
|
|
|
48
48
|
type ParsedColor = ParsedRGB | ParsedRGBA | ParsedHSV | ParsedHSL | ParsedHSLA;
|
|
49
49
|
type Hex = `#${string}`;
|
|
50
50
|
|
|
51
|
+
/**
|
|
52
|
+
* @brief: 日志类型枚举(对应原生console的方法类型)
|
|
53
|
+
* @desc: 限定支持的日志类型,避免非法日志调用
|
|
54
|
+
*/
|
|
55
|
+
type ConsoleType = 'log' | 'info' | 'warn' | 'error' | 'debug';
|
|
56
|
+
/**
|
|
57
|
+
* @brief: 日志工具配置项接口
|
|
58
|
+
* @desc: 定义日志工具的核心配置参数类型
|
|
59
|
+
*/
|
|
60
|
+
interface LoggerConfig {
|
|
61
|
+
/** 是否开启调试模式(true=输出日志,false=关闭日志) */
|
|
62
|
+
enable: boolean;
|
|
63
|
+
/** 强制保留的日志类型(即使关闭调试,这些类型仍会输出) */
|
|
64
|
+
reserveTypes: ConsoleType[];
|
|
65
|
+
/** 日志前缀(用于区分自定义日志和原生日志) */
|
|
66
|
+
prefix: string;
|
|
67
|
+
}
|
|
68
|
+
|
|
51
69
|
declare const hidKeyCode: ({
|
|
52
70
|
key: number;
|
|
53
71
|
word: string;
|
|
@@ -233,4 +251,250 @@ declare function hsvToHsl(hsv: ParsedHSV): ParsedColor;
|
|
|
233
251
|
********************************************************************************/
|
|
234
252
|
declare function hslToHsv(hsl: ParsedHSL): ParsedColor;
|
|
235
253
|
|
|
236
|
-
|
|
254
|
+
/********************************************************************************
|
|
255
|
+
* @file: logger.ts
|
|
256
|
+
* @brief: 可开关的Console日志工具函数封装(兼容CJS/ESM双环境)
|
|
257
|
+
* @desc: 支持开发/生产环境自动切换日志输出,可保留关键错误日志,支持动态配置开关
|
|
258
|
+
* @note: 移除import.meta依赖,兼容CommonJS/ESModule双模块格式
|
|
259
|
+
********************************************************************************/
|
|
260
|
+
|
|
261
|
+
declare global {
|
|
262
|
+
/**
|
|
263
|
+
* @brief: 扩展Window接口,添加自定义环境变量属性__ENV__
|
|
264
|
+
* @desc: 解决TS2339错误:Property '__ENV__' does not exist on type 'Window'
|
|
265
|
+
*/
|
|
266
|
+
interface Window {
|
|
267
|
+
__ENV__?: {
|
|
268
|
+
MODE: 'development' | 'production' | string;
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/********************************************************************************
|
|
273
|
+
* @brief: 封装console.log方法(可开关控制)
|
|
274
|
+
* @param {any[]} args 日志打印参数(任意数量、任意类型)
|
|
275
|
+
* @return {void} 无返回值
|
|
276
|
+
********************************************************************************/
|
|
277
|
+
declare const log: (...args: any[]) => void;
|
|
278
|
+
/********************************************************************************
|
|
279
|
+
* @brief: 封装console.info方法(可开关控制)
|
|
280
|
+
* @param {any[]} args 日志打印参数(任意数量、任意类型)
|
|
281
|
+
* @return {void} 无返回值
|
|
282
|
+
********************************************************************************/
|
|
283
|
+
declare const info: (...args: any[]) => void;
|
|
284
|
+
/********************************************************************************
|
|
285
|
+
* @brief: 封装console.warn方法(可开关控制)
|
|
286
|
+
* @param {any[]} args 日志打印参数(任意数量、任意类型)
|
|
287
|
+
* @return {void} 无返回值
|
|
288
|
+
********************************************************************************/
|
|
289
|
+
declare const warn: (...args: any[]) => void;
|
|
290
|
+
/********************************************************************************
|
|
291
|
+
* @brief: 封装console.error方法(可开关控制,默认生产环境保留)
|
|
292
|
+
* @param {any[]} args 日志打印参数(任意数量、任意类型)
|
|
293
|
+
* @return {void} 无返回值
|
|
294
|
+
********************************************************************************/
|
|
295
|
+
declare const error: (...args: any[]) => void;
|
|
296
|
+
/********************************************************************************
|
|
297
|
+
* @brief: 封装console.debug方法(可开关控制)
|
|
298
|
+
* @param {any[]} args 日志打印参数(任意数量、任意类型)
|
|
299
|
+
* @return {void} 无返回值
|
|
300
|
+
********************************************************************************/
|
|
301
|
+
declare const debug: (...args: any[]) => void;
|
|
302
|
+
/********************************************************************************
|
|
303
|
+
* @brief: 动态修改日志工具配置
|
|
304
|
+
* @param {Partial<LoggerConfig>} config 要修改的配置项(可选,无需传全部)
|
|
305
|
+
* @return {void} 无返回值
|
|
306
|
+
* @example:
|
|
307
|
+
* setLoggerConfig({ enable: false }); // 全局关闭所有日志
|
|
308
|
+
* setLoggerConfig({ reserveTypes: ['error', 'warn'] }); // 保留错误和警告日志
|
|
309
|
+
********************************************************************************/
|
|
310
|
+
declare const setLoggerConfig: (config: Partial<LoggerConfig>) => void;
|
|
311
|
+
/********************************************************************************
|
|
312
|
+
* @brief: 重置日志工具配置为默认值
|
|
313
|
+
* @return {void} 无返回值
|
|
314
|
+
********************************************************************************/
|
|
315
|
+
declare const resetLoggerConfig: () => void;
|
|
316
|
+
/********************************************************************************
|
|
317
|
+
* @brief: 强制开启所有日志(临时调试用)
|
|
318
|
+
* @return {void} 无返回值
|
|
319
|
+
********************************************************************************/
|
|
320
|
+
declare const enableAllLogs: () => void;
|
|
321
|
+
/********************************************************************************
|
|
322
|
+
* @brief: 强制关闭所有日志(紧急生产环境用)
|
|
323
|
+
* @return {void} 无返回值
|
|
324
|
+
********************************************************************************/
|
|
325
|
+
declare const disableAllLogs: () => void;
|
|
326
|
+
|
|
327
|
+
/********************************************************************************
|
|
328
|
+
* @brief: 图像处理工具函数库主对象
|
|
329
|
+
* @param: 无
|
|
330
|
+
* @return: ImageToHexArray 对象
|
|
331
|
+
********************************************************************************/
|
|
332
|
+
declare const ImageToHexArray: {
|
|
333
|
+
/********************************************************************************
|
|
334
|
+
* @brief: 生成十六进制数组
|
|
335
|
+
* @param {string} picData - base64图像数据
|
|
336
|
+
* @param {number} thresholdData - 阈值
|
|
337
|
+
* @param {Array} config - 配置数组
|
|
338
|
+
* @return {Promise<Array|Uint8Array>} 十六进制数组
|
|
339
|
+
********************************************************************************/
|
|
340
|
+
generate: (picData: string, thresholdData: number, config: number[]) => Promise<Uint8Array>;
|
|
341
|
+
/********************************************************************************
|
|
342
|
+
* @brief: ImageData 对象转 hexArray
|
|
343
|
+
* @param {ImageData} imageData - 图像数据对象
|
|
344
|
+
* @param {number} threshold - 阈值
|
|
345
|
+
* @param {Array} config - 配置数组
|
|
346
|
+
* @return {Uint8Array} 处理后的字节数组
|
|
347
|
+
********************************************************************************/
|
|
348
|
+
imageDataToHexArray: (imageData: ImageData, threshold: number, config: number[]) => Uint8Array;
|
|
349
|
+
/********************************************************************************
|
|
350
|
+
* @brief: 彩色图像取模 (RGB565格式)
|
|
351
|
+
* @param {Uint8ClampedArray} pixels - 像素数组
|
|
352
|
+
* @param {number} width - 图像宽度
|
|
353
|
+
* @param {number} height - 图像高度
|
|
354
|
+
* @param {Array} config - 配置数组
|
|
355
|
+
* @return {Uint8Array} RGB565格式的字节数组
|
|
356
|
+
********************************************************************************/
|
|
357
|
+
colorImageSampling: (pixels: Uint8ClampedArray, width: number, height: number, config: number[]) => Uint8Array;
|
|
358
|
+
/********************************************************************************
|
|
359
|
+
* @brief: 逐行式取模 (从左到右,从上到下)
|
|
360
|
+
* @param {Array} unpackedBuffer - 解压后的像素缓冲区
|
|
361
|
+
* @param {number} width - 图像宽度
|
|
362
|
+
* @param {number} height - 图像高度
|
|
363
|
+
* @param {Array} config - 配置数组
|
|
364
|
+
* @return {Uint8Array} 取模后的字节数组
|
|
365
|
+
********************************************************************************/
|
|
366
|
+
ImageSamplingRow: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
|
|
367
|
+
/********************************************************************************
|
|
368
|
+
* @brief: 逐列式取模 (从上到下,从左到右)
|
|
369
|
+
* @param {Array} unpackedBuffer - 解压后的像素缓冲区
|
|
370
|
+
* @param {number} width - 图像宽度
|
|
371
|
+
* @param {number} height - 图像高度
|
|
372
|
+
* @param {Array} config - 配置数组
|
|
373
|
+
* @return {Uint8Array} 取模后的字节数组
|
|
374
|
+
********************************************************************************/
|
|
375
|
+
ImageSamplingCol: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
|
|
376
|
+
/********************************************************************************
|
|
377
|
+
* @brief: 列行式取模 (先列后行)
|
|
378
|
+
* @param {Array} unpackedBuffer - 解压后的像素缓冲区
|
|
379
|
+
* @param {number} width - 图像宽度
|
|
380
|
+
* @param {number} height - 图像高度
|
|
381
|
+
* @param {Array} config - 配置数组
|
|
382
|
+
* @return {Uint8Array} 取模后的字节数组
|
|
383
|
+
********************************************************************************/
|
|
384
|
+
ImageSamplingColRow: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
|
|
385
|
+
/********************************************************************************
|
|
386
|
+
* @brief: 行列式取模 (先行后列)
|
|
387
|
+
* @param {Array} unpackedBuffer - 解压后的像素缓冲区
|
|
388
|
+
* @param {number} width - 图像宽度
|
|
389
|
+
* @param {number} height - 图像高度
|
|
390
|
+
* @param {Array} config - 配置数组
|
|
391
|
+
* @return {Uint8Array} 取模后的字节数组
|
|
392
|
+
********************************************************************************/
|
|
393
|
+
ImageSamplingRowCol: (unpackedBuffer: number[], width: number, height: number, config: number[]) => Uint8Array;
|
|
394
|
+
/********************************************************************************
|
|
395
|
+
* @brief: base64 转 ImageData 对象
|
|
396
|
+
* @param {string} base64Data - base64编码的图像数据
|
|
397
|
+
* @return {Promise<ImageData>} ImageData对象
|
|
398
|
+
********************************************************************************/
|
|
399
|
+
base64ToImageData: (base64Data: string) => Promise<ImageData>;
|
|
400
|
+
/********************************************************************************
|
|
401
|
+
* @brief: 使用 Konva.js 缩放图像
|
|
402
|
+
* @param {number} width - 目标宽度
|
|
403
|
+
* @param {number} height - 目标高度
|
|
404
|
+
* @param {HTMLImageElement} image - 源图像对象
|
|
405
|
+
* @param {boolean} colorMode - 是否转换为灰度
|
|
406
|
+
* @return {Promise<string>} base64编码的缩放后图像
|
|
407
|
+
********************************************************************************/
|
|
408
|
+
resizeImageWithKonva: (width: number, height: number, image: HTMLImageElement, colorMode: boolean) => Promise<string>;
|
|
409
|
+
/********************************************************************************
|
|
410
|
+
* @brief: 使用 Canvas API 缩放图像 (Konva不可用时的备选方案)
|
|
411
|
+
* @param {number} width - 目标宽度
|
|
412
|
+
* @param {number} height - 目标高度
|
|
413
|
+
* @param {HTMLImageElement} image - 源图像对象
|
|
414
|
+
* @param {boolean} colorMode - 是否转换为灰度
|
|
415
|
+
* @return {Promise<string>} base64编码的缩放后图像
|
|
416
|
+
********************************************************************************/
|
|
417
|
+
resizeImageWithCanvas: (width: any, height: any, image: any, colorMode: any) => Promise<unknown>;
|
|
418
|
+
/********************************************************************************
|
|
419
|
+
* @brief: Uint8Array 转十六进制字符串
|
|
420
|
+
* @param {Uint8Array} array - 字节数组
|
|
421
|
+
* @return {string} 十六进制字符串
|
|
422
|
+
********************************************************************************/
|
|
423
|
+
arrayToHex: (array: any) => string;
|
|
424
|
+
/********************************************************************************
|
|
425
|
+
* @brief: 十六进制数据加 '0x' 前缀
|
|
426
|
+
* @param {string} hex - 十六进制字符串
|
|
427
|
+
* @return {Array<string>} 带0x前缀的十六进制数组
|
|
428
|
+
********************************************************************************/
|
|
429
|
+
hex2hex: (hex: string) => Array<string>;
|
|
430
|
+
/********************************************************************************
|
|
431
|
+
* @brief: 生成取模预览 (0=白点, 1=黑点)
|
|
432
|
+
* @param {Uint8Array} unpackedBuffer - 解压后的像素缓冲区
|
|
433
|
+
* @param {number} width - 图像宽度
|
|
434
|
+
* @return {string} 预览字符串
|
|
435
|
+
********************************************************************************/
|
|
436
|
+
generatePreview: (unpackedBuffer: Uint8Array, width: number) => string;
|
|
437
|
+
/********************************************************************************
|
|
438
|
+
* @brief: 创建图像数据对象(兼容性函数)
|
|
439
|
+
* @param {number} width - 图像宽度
|
|
440
|
+
* @param {number} height - 图像高度
|
|
441
|
+
* @param {Uint8ClampedArray} data - 像素数据
|
|
442
|
+
* @return {ImageData} ImageData对象
|
|
443
|
+
********************************************************************************/
|
|
444
|
+
createImageData: (width: number, height: number, data?: Uint8ClampedArray) => ImageData;
|
|
445
|
+
/********************************************************************************
|
|
446
|
+
* @brief: 将字节数组格式化为可读字符串
|
|
447
|
+
* @param {Uint8Array|Array} hexArray - 十六进制数组
|
|
448
|
+
* @param {number} format - 输出格式 (0=带0x前缀, 1=原始数组)
|
|
449
|
+
* @param {number} lineBreak - 每行显示的字节数
|
|
450
|
+
* @return {string} 格式化后的字符串
|
|
451
|
+
********************************************************************************/
|
|
452
|
+
formatHexOutput: (hexArray: Uint8Array | Array<string>, format?: number, lineBreak?: number) => string;
|
|
453
|
+
/********************************************************************************
|
|
454
|
+
* @brief: 计算输出字节数
|
|
455
|
+
* @param {Uint8Array|Array} hexArray - 十六进制数组
|
|
456
|
+
* @return {Object} 包含字节数和KB数的对象
|
|
457
|
+
********************************************************************************/
|
|
458
|
+
calculateOutputSize: (hexArray: Uint8Array | Array<string>) => {
|
|
459
|
+
bytes: number;
|
|
460
|
+
kilobytes: number;
|
|
461
|
+
formatted: string;
|
|
462
|
+
};
|
|
463
|
+
/********************************************************************************
|
|
464
|
+
* @brief: 获取取模方式描述
|
|
465
|
+
* @param {number} mode - 取模方式代码
|
|
466
|
+
* @return {string} 取模方式描述
|
|
467
|
+
********************************************************************************/
|
|
468
|
+
getSamplingModeDescription: (mode: number) => string;
|
|
469
|
+
/********************************************************************************
|
|
470
|
+
* @brief: 获取配置数组的默认值
|
|
471
|
+
* @param: 无
|
|
472
|
+
* @return {Array} 默认配置数组
|
|
473
|
+
********************************************************************************/
|
|
474
|
+
getDefaultConfig: () => number[];
|
|
475
|
+
};
|
|
476
|
+
/********************************************************************************
|
|
477
|
+
* @brief: 为了方便使用,单独导出每个函数
|
|
478
|
+
* @param: 无
|
|
479
|
+
* @return: 函数引用
|
|
480
|
+
********************************************************************************/
|
|
481
|
+
declare const generate: any;
|
|
482
|
+
declare const imageDataToHexArray: any;
|
|
483
|
+
declare const colorImageSampling: any;
|
|
484
|
+
declare const ImageSamplingRow: any;
|
|
485
|
+
declare const ImageSamplingCol: any;
|
|
486
|
+
declare const ImageSamplingColRow: any;
|
|
487
|
+
declare const ImageSamplingRowCol: any;
|
|
488
|
+
declare const base64ToImageData: any;
|
|
489
|
+
declare const resizeImageWithKonva: any;
|
|
490
|
+
declare const resizeImageWithCanvas: any;
|
|
491
|
+
declare const arrayToHex: any;
|
|
492
|
+
declare const hex2hex: any;
|
|
493
|
+
declare const generatePreview: any;
|
|
494
|
+
declare const createImageData: any;
|
|
495
|
+
declare const formatHexOutput: any;
|
|
496
|
+
declare const calculateOutputSize: any;
|
|
497
|
+
declare const getSamplingModeDescription: any;
|
|
498
|
+
declare const getDefaultConfig: any;
|
|
499
|
+
|
|
500
|
+
export { type ConsoleType, Endianness, type Hex, 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 };
|