@ps-generator-bridge/generator 0.1.0

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.
Files changed (57) hide show
  1. package/LICENSE +21 -0
  2. package/dist/contract-C4vydf6-.d.ts +1270 -0
  3. package/dist/contract.d.ts +3 -0
  4. package/dist/contract.js +19 -0
  5. package/dist/contract.js.map +1 -0
  6. package/dist/index.d.ts +8 -0
  7. package/dist/index.js +2482 -0
  8. package/dist/index.js.map +1 -0
  9. package/jsx/Action/autoCutout.jsx +12 -0
  10. package/jsx/Action/redo.jsx +5 -0
  11. package/jsx/Action/removeBackground.jsx +10 -0
  12. package/jsx/Common/alert.jsx +4 -0
  13. package/jsx/Common/debug.jsx +43 -0
  14. package/jsx/Common/event-dispatch.jsx +4 -0
  15. package/jsx/Document/exportDocument.jsx +128 -0
  16. package/jsx/Document/getDocumentInfo.jsx +222 -0
  17. package/jsx/Document/openPsd.jsx +6 -0
  18. package/jsx/Document/openPsdFile.jsx +7 -0
  19. package/jsx/Document/saveDocument.jsx +37 -0
  20. package/jsx/Layer/addImageLayer.jsx +182 -0
  21. package/jsx/Layer/createSelectionStroke.jsx +44 -0
  22. package/jsx/Layer/getActiveLayerID.jsx +1 -0
  23. package/jsx/Layer/getLayerBounds.jsx +114 -0
  24. package/jsx/Layer/getLayerInfo.jsx +323 -0
  25. package/jsx/Layer/getLayerPixmap.jsx +337 -0
  26. package/jsx/Layer/getSelection.jsx +6 -0
  27. package/jsx/Layer/layer.jsx +284 -0
  28. package/jsx/Layer/saveEngineDataToLayer.jsx +26 -0
  29. package/jsx/Layer/setLayerWorkpathMask.jsx +126 -0
  30. package/jsx/Layer/transformLayer.jsx +121 -0
  31. package/jsx/Selection/getSelectionPath.jsx +389 -0
  32. package/jsx/Selection/pathtosvg.jsx +257 -0
  33. package/jsx/Selection/registerEvent.jsx +10 -0
  34. package/jsx/Selection/selectiontopath.jsx +9 -0
  35. package/jsx/polyfills/Array.js +159 -0
  36. package/jsx/polyfills/Function.js +29 -0
  37. package/jsx/polyfills/JSON.js +182 -0
  38. package/jsx/polyfills/Number.js +24 -0
  39. package/jsx/polyfills/Object.js +80 -0
  40. package/jsx/polyfills/String.js +87 -0
  41. package/jsx/types/extendscript/README.md +34 -0
  42. package/jsx/types/extendscript/actions.d.ts +148 -0
  43. package/jsx/types/extendscript/application.d.ts +74 -0
  44. package/jsx/types/extendscript/channel.d.ts +70 -0
  45. package/jsx/types/extendscript/color.d.ts +92 -0
  46. package/jsx/types/extendscript/document.d.ts +110 -0
  47. package/jsx/types/extendscript/enums.d.ts +796 -0
  48. package/jsx/types/extendscript/index.d.ts +504 -0
  49. package/jsx/types/extendscript/layer.d.ts +530 -0
  50. package/jsx/types/extendscript/misc.d.ts +274 -0
  51. package/jsx/types/extendscript/open-options.d.ts +86 -0
  52. package/jsx/types/extendscript/path.d.ts +196 -0
  53. package/jsx/types/extendscript/save-options.d.ts +144 -0
  54. package/jsx/types/extendscript/selection.d.ts +191 -0
  55. package/jsx/types/extendscript/text.d.ts +169 -0
  56. package/main.js +16 -0
  57. package/package.json +75 -0
@@ -0,0 +1,530 @@
1
+ /**
2
+ * Photoshop 图层类型声明
3
+ * 来源: https://theiviaxx.github.io/photoshop-docs/Photoshop/
4
+ */
5
+
6
+ // ============================================================
7
+ // 基础 Layer 类
8
+ // ============================================================
9
+
10
+ /**
11
+ * 图层基类,ArtLayer 和 LayerSet 的共同父类。
12
+ */
13
+ declare class Layer {
14
+ /** 如果为 true,则图层的内容和设置已锁定 */
15
+ allLocked: boolean;
16
+ /** 混合模式 */
17
+ blendMode: BlendMode;
18
+ /** 图层的边界矩形(只读)*/
19
+ readonly bounds: [number, number, number, number];
20
+ /** 不包含效果的边界矩形(只读)*/
21
+ readonly boundsNoEffects: [number, number, number, number];
22
+ /** 图层的唯一 ID(只读)*/
23
+ readonly id: number;
24
+ /** 图层索引(不含图层组)(只读)*/
25
+ readonly itemIndex: number;
26
+ /** 与此图层链接的图层(只读)*/
27
+ readonly linkedLayers: Layer[];
28
+ /** 图层名称 */
29
+ name: string;
30
+ /** 图层的主不透明度(百分比)。范围:0.0 到 100.0 */
31
+ opacity: number;
32
+ /** 对象的容器(Document 或 LayerSet)(只读)*/
33
+ readonly parent: Document | LayerSet;
34
+ /** 对象的类名(只读)*/
35
+ readonly typename: string;
36
+ /** 如果为 true,则图层可见 */
37
+ visible: boolean;
38
+ /** 与图层关联的 XMP 元数据(只读)*/
39
+ readonly xmpMetadata: XMPMetadata;
40
+
41
+ /**
42
+ * 复制此图层。
43
+ * @param relativeObject 相对的目标对象(可选)
44
+ * @param insertionLocation 插入位置(可选)
45
+ */
46
+ duplicate(relativeObject?: Layer | Document, insertionLocation?: ElementPlacement): Layer;
47
+
48
+ /**
49
+ * 将此图层与指定图层链接。
50
+ * @param with_ 要链接的图层
51
+ */
52
+ link(with_: Layer): void;
53
+
54
+ /**
55
+ * 移动对象。
56
+ * @param relativeObject 相对的目标对象
57
+ * @param insertionLocation 插入位置
58
+ */
59
+ move(relativeObject: Layer | Document, insertionLocation: ElementPlacement): void;
60
+
61
+ /**
62
+ * 移动到末尾。
63
+ * @param relativeObject 相对的目标对象(可选)
64
+ */
65
+ moveToEnd(relativeObject?: Document | LayerSet): void;
66
+
67
+ /** 删除此图层 */
68
+ remove(): void;
69
+
70
+ /**
71
+ * 缩放对象。
72
+ * @param horizontal 水平缩放(百分比)
73
+ * @param vertical 垂直缩放(百分比)
74
+ * @param anchor 锚点位置(可选)
75
+ */
76
+ resize(horizontal?: number, vertical?: number, anchor?: AnchorPosition): void;
77
+
78
+ /**
79
+ * 旋转对象。
80
+ * @param angle 旋转角度(度)
81
+ * @param anchor 锚点位置(可选)
82
+ */
83
+ rotate(angle: number, anchor?: AnchorPosition): void;
84
+
85
+ /**
86
+ * 相对于当前位置移动对象。
87
+ * @param deltaX 水平移动量
88
+ * @param deltaY 垂直移动量
89
+ */
90
+ translate(deltaX?: number, deltaY?: number): void;
91
+
92
+ /** 取消链接图层 */
93
+ unlink(): void;
94
+ }
95
+
96
+ // ============================================================
97
+ // ArtLayer 类
98
+ // ============================================================
99
+
100
+ /**
101
+ * 文档中包含图像视觉元素的艺术图层(等同于 Photoshop 中的普通图层)。
102
+ */
103
+ declare class ArtLayer extends Layer {
104
+ /** 图层的内部不透明度。范围:0.0 到 100.0 */
105
+ fillOpacity: number;
106
+ /** 滤镜蒙版的密度。范围:0.0 到 100.0 */
107
+ filterMaskDensity: number;
108
+ /** 滤镜蒙版的羽化值。范围:0.0 到 250.0 */
109
+ filterMaskFeather: number;
110
+ /** 如果为 true,表示该图层与下方图层进行了编组(剪贴蒙版)*/
111
+ grouped: boolean;
112
+ /** 如果为 true,表示该图层是背景图层 */
113
+ isBackgroundLayer: boolean;
114
+ /** 图层类型(仅在图层为空且不是背景图层时可设置)*/
115
+ kind: LayerKind;
116
+ /** 图层蒙版的密度。范围:0.0 到 100.0 */
117
+ layerMaskDensity: number;
118
+ /** 图层蒙版的羽化值。范围:0.0 到 250.0 */
119
+ layerMaskFeather: number;
120
+ /** 如果为 true,图层图像中的像素无法编辑 */
121
+ pixelsLocked: boolean;
122
+ /** 如果为 true,图层图像中的像素无法在图层内移动 */
123
+ positionLocked: boolean;
124
+ /** 与图层关联的文本(仅当 kind 为文字图层时有效)(只读)*/
125
+ readonly textItem: TextItem;
126
+ /** 如果为 true,编辑操作限制在图层的不透明部分 */
127
+ transparentPixelsLocked: boolean;
128
+ /** 矢量蒙版的密度。范围:0.0 到 100.0 */
129
+ vectorMaskDensity: number;
130
+ /** 矢量蒙版的羽化值。范围:0.0 到 250.0 */
131
+ vectorMaskFeather: number;
132
+
133
+ // 基础操作
134
+ /** 清除图层(不复制到剪贴板)*/
135
+ clear(): void;
136
+ /**
137
+ * 将图层复制到剪贴板。
138
+ * @param merge 是否合并所有可见图层(可选)
139
+ */
140
+ copy(merge?: boolean): void;
141
+ /** 将图层剪切到剪贴板 */
142
+ cut(): void;
143
+ /** 向下合并图层,返回被合并到的图层 */
144
+ merge(): ArtLayer;
145
+ /**
146
+ * 将图层中的内容转换为栅格图像。
147
+ * @param target 要栅格化的内容类型(可选)
148
+ */
149
+ rasterize(target?: RasterizeType): void;
150
+
151
+ // 调整与颜色
152
+ /**
153
+ * 调整亮度和对比度。
154
+ * @param brightness 亮度(-100 到 100)
155
+ * @param contrast 对比度(-100 到 100)
156
+ */
157
+ adjustBrightnessContrast(brightness: number, contrast: number): void;
158
+
159
+ /**
160
+ * 调整图层分量的颜色平衡。
161
+ * @param shadowLevels 阴影色阶([CMY, CMY, CMY])
162
+ * @param midtoneLevels 中间调色阶
163
+ * @param highlightLevels 高光色阶
164
+ * @param preserveLuminosity 是否保留明度
165
+ */
166
+ adjustColorBalance(
167
+ shadowLevels: number[],
168
+ midtoneLevels: number[],
169
+ highlightLevels: number[],
170
+ preserveLuminosity: boolean
171
+ ): void;
172
+
173
+ /**
174
+ * 使用多达 14 个点调整所选通道的色调范围。
175
+ * @param curveShape 曲线形状([输入, 输出] 数组)
176
+ */
177
+ adjustCurves(curveShape: number[][]): void;
178
+
179
+ /**
180
+ * 调整所选通道的色阶。
181
+ * @param inputRangeStart 输入范围起始(0 到 253)
182
+ * @param inputRangeEnd 输入范围结束(2 到 255)
183
+ * @param inputRangeGamma 输入范围 Gamma(0.10 到 9.99)
184
+ * @param outputRangeStart 输出范围起始(0 到 255)
185
+ * @param outputRangeEnd 输出范围结束(0 到 255)
186
+ */
187
+ adjustLevels(
188
+ inputRangeStart: number,
189
+ inputRangeEnd: number,
190
+ inputRangeGamma: number,
191
+ outputRangeStart: number,
192
+ outputRangeEnd: number
193
+ ): void;
194
+
195
+ /** 自动调整所选通道的对比度 */
196
+ autoContrast(): void;
197
+ /** 使用自动色阶选项调整色阶 */
198
+ autoLevels(): void;
199
+ /** 将彩色图像转换为灰度图像 */
200
+ desaturate(): void;
201
+ /** 重新分布像素亮度值 */
202
+ equalize(): void;
203
+ /** 反转图层中的颜色 */
204
+ invert(): void;
205
+
206
+ /**
207
+ * 指定每通道色调级别数。
208
+ * @param levels 色调级别数(2 到 255)
209
+ */
210
+ posterize(levels: number): void;
211
+
212
+ /**
213
+ * 将图像转换为高对比度的黑白图像。
214
+ * @param level 阈值(1 到 255)
215
+ */
216
+ threshold(level: number): void;
217
+
218
+ // 滤镜
219
+ /**
220
+ * 添加杂色滤镜。
221
+ * @param amount 杂色量
222
+ * @param distribution 分布类型
223
+ * @param monochromatic 是否为单色
224
+ */
225
+ applyAddNoise(amount: number, distribution: NoiseDistribution, monochromatic: boolean): void;
226
+
227
+ /** 平均滤镜 */
228
+ applyAverage(): void;
229
+ /** 模糊滤镜 */
230
+ applyBlur(): void;
231
+ /** 进一步模糊滤镜 */
232
+ applyBlurMore(): void;
233
+ /** 云彩滤镜 */
234
+ applyClouds(): void;
235
+ /** 去交错滤镜 */
236
+ applyDeInterlace(eliminateFields: EliminateFields, createFields: CreateFields): void;
237
+ /** 去斑滤镜 */
238
+ applyDespeckle(): void;
239
+ /** 分层云彩滤镜 */
240
+ applyDifferenceClouds(): void;
241
+
242
+ /**
243
+ * 高斯模糊滤镜。
244
+ * @param radius 模糊半径(像素)
245
+ */
246
+ applyGaussianBlur(radius: number): void;
247
+
248
+ /**
249
+ * 高反差保留滤镜。
250
+ * @param radius 半径
251
+ */
252
+ applyHighPass(radius: number): void;
253
+
254
+ /**
255
+ * 镜头光晕滤镜。
256
+ * @param brightness 亮度(10 到 300)
257
+ * @param flareCenter 光晕中心 [x, y]
258
+ * @param lensType 镜头类型
259
+ */
260
+ applyLensFlare(brightness: number, flareCenter: [number, number], lensType: LensType): void;
261
+
262
+ /**
263
+ * 最大值滤镜。
264
+ * @param radius 半径(像素)
265
+ */
266
+ applyMaximum(radius: number): void;
267
+
268
+ /**
269
+ * 最小值滤镜。
270
+ * @param radius 半径(像素)
271
+ */
272
+ applyMinimum(radius: number): void;
273
+
274
+ /**
275
+ * 动感模糊滤镜。
276
+ * @param angle 角度(-360 到 360 度)
277
+ * @param distance 距离(像素,1 到 999)
278
+ */
279
+ applyMotionBlur(angle: number, distance: number): void;
280
+
281
+ /** NTSC 颜色滤镜 */
282
+ applyNTSC(): void;
283
+
284
+ /**
285
+ * 位移滤镜。
286
+ * @param horizontal 水平位移
287
+ * @param vertical 垂直位移
288
+ * @param undefinedAreas 未定义区域处理
289
+ */
290
+ applyOffset(horizontal: number, vertical: number, undefinedAreas: OffsetUndefinedAreas): void;
291
+
292
+ /**
293
+ * 径向模糊滤镜。
294
+ * @param amount 数量(1 到 100)
295
+ * @param blurMethod 模糊方法
296
+ * @param blurQuality 模糊品质
297
+ */
298
+ applyRadialBlur(
299
+ amount: number,
300
+ blurMethod: RadialBlurMethod,
301
+ blurQuality: RadialBlurQuality
302
+ ): void;
303
+
304
+ /**
305
+ * 锐化滤镜。
306
+ */
307
+ applySharpen(): void;
308
+ /** 锐化边缘滤镜 */
309
+ applySharpenEdges(): void;
310
+ /** 进一步锐化滤镜 */
311
+ applySharpenMore(): void;
312
+
313
+ /**
314
+ * 智能模糊滤镜。
315
+ * @param radius 半径
316
+ * @param threshold 阈值
317
+ * @param blurQuality 模糊品质
318
+ * @param mode 模糊模式
319
+ */
320
+ applySmartBlur(
321
+ radius: number,
322
+ threshold: number,
323
+ blurQuality: SmartBlurQuality,
324
+ mode: SmartBlurMode
325
+ ): void;
326
+
327
+ /**
328
+ * 球面化滤镜。
329
+ * @param amount 数量(-100 到 100)
330
+ * @param mode 球面化模式
331
+ */
332
+ applySpherize(amount: number, mode: SpherizeMode): void;
333
+
334
+ /**
335
+ * USM 锐化滤镜。
336
+ * @param amount 数量(1 到 500)
337
+ * @param radius 半径(0.1 到 250.0)
338
+ * @param threshold 阈值(0 到 255)
339
+ */
340
+ applyUnSharpMask(amount: number, radius: number, threshold: number): void;
341
+
342
+ // 样式
343
+ /**
344
+ * 将指定的样式应用到图层。
345
+ * @param styleName 样式名称
346
+ */
347
+ applyStyle(styleName: string): void;
348
+ }
349
+
350
+ // ============================================================
351
+ // ArtLayers 集合
352
+ // ============================================================
353
+
354
+ /** 艺术图层集合 */
355
+ declare class ArtLayers {
356
+ /** 图层数量(只读)*/
357
+ readonly length: number;
358
+ /** 对象的容器(只读)*/
359
+ readonly parent: Document | LayerSet;
360
+ /** 对象的类名(只读)*/
361
+ readonly typename: string;
362
+ /** 通过索引访问图层 */
363
+ [index: number]: ArtLayer;
364
+
365
+ /**
366
+ * 新建艺术图层。
367
+ * @returns 新创建的艺术图层
368
+ */
369
+ add(): ArtLayer;
370
+
371
+ /**
372
+ * 通过名称获取艺术图层。
373
+ * @param name 图层名称
374
+ */
375
+ getByName(name: string): ArtLayer;
376
+
377
+ /** 删除所有艺术图层 */
378
+ removeAll(): void;
379
+ }
380
+
381
+ // ============================================================
382
+ // LayerSet 类(图层组)
383
+ // ============================================================
384
+
385
+ /**
386
+ * 图层对象组(图层组),可包含艺术图层和其他嵌套的图层组。
387
+ */
388
+ declare class LayerSet extends Layer {
389
+ /** 该图层集中包含的艺术图层(只读)*/
390
+ readonly artLayers: ArtLayers;
391
+ /** 为该图层集启用的通道(只读)*/
392
+ readonly enabledChannels: Channel[];
393
+ /** 该图层集中包含的子图层集(只读)*/
394
+ readonly layerSets: LayerSets;
395
+ /** 该图层集中的所有图层(只读)*/
396
+ readonly layers: Layers;
397
+
398
+ /** 添加一个元素 */
399
+ add(): LayerSet;
400
+ /** 合并该图层集 */
401
+ merge(): ArtLayer;
402
+ }
403
+
404
+ // ============================================================
405
+ // LayerSets 集合
406
+ // ============================================================
407
+
408
+ /** 图层组集合 */
409
+ declare class LayerSets {
410
+ /** 图层组数量(只读)*/
411
+ readonly length: number;
412
+ /** 对象的容器(只读)*/
413
+ readonly parent: Document | LayerSet;
414
+ /** 对象的类名(只读)*/
415
+ readonly typename: string;
416
+ /** 通过索引访问图层组 */
417
+ [index: number]: LayerSet;
418
+
419
+ /**
420
+ * 新建图层组。
421
+ * @returns 新创建的图层组
422
+ */
423
+ add(): LayerSet;
424
+
425
+ /**
426
+ * 通过名称获取图层组。
427
+ * @param name 图层组名称
428
+ */
429
+ getByName(name: string): LayerSet;
430
+
431
+ /** 删除所有图层组 */
432
+ removeAll(): void;
433
+ }
434
+
435
+ // ============================================================
436
+ // Layers 集合(图层与图层组的混合集合)
437
+ // ============================================================
438
+
439
+ /** 图层集合(包含 ArtLayer 和 LayerSet)*/
440
+ declare class Layers {
441
+ /** 图层数量(只读)*/
442
+ readonly length: number;
443
+ /** 对象的容器(只读)*/
444
+ readonly parent: Document | LayerSet;
445
+ /** 对象的类名(只读)*/
446
+ readonly typename: string;
447
+ /** 通过索引访问图层 */
448
+ [index: number]: ArtLayer | LayerSet;
449
+
450
+ /**
451
+ * 通过名称获取图层。
452
+ * @param name 图层名称
453
+ */
454
+ getByName(name: string): ArtLayer | LayerSet;
455
+
456
+ /** 删除所有图层 */
457
+ removeAll(): void;
458
+ }
459
+
460
+ // ============================================================
461
+ // LayerComp 类
462
+ // ============================================================
463
+
464
+ /** 图层复合 */
465
+ declare class LayerComp {
466
+ /** 如果为 true,则图层复合已应用(只读)*/
467
+ readonly applied: boolean;
468
+ /** 如果为 true,则图层复合捕获图层外观(只读)*/
469
+ readonly appearance: boolean;
470
+ /** 注释(只读)*/
471
+ readonly comment: string;
472
+ /** 如果为 true,则图层复合捕获图层位置(只读)*/
473
+ readonly position: boolean;
474
+ /** 如果为 true,则图层复合捕获图层可见性(只读)*/
475
+ readonly visibility: boolean;
476
+ /** 图层复合名称 */
477
+ name: string;
478
+ /** 对象的容器(只读)*/
479
+ readonly parent: Document;
480
+ /** 对象的类名(只读)*/
481
+ readonly typename: string;
482
+
483
+ /** 将图层复合应用到文档 */
484
+ apply(): void;
485
+ /**
486
+ * 将图层复合重置为文档的当前状态。
487
+ */
488
+ recapture(): void;
489
+ /** 删除图层复合 */
490
+ remove(): void;
491
+ /** 恢复图层复合的上一个状态 */
492
+ resetLayerComp(): void;
493
+ }
494
+
495
+ /** 图层复合集合 */
496
+ declare class LayerComps {
497
+ /** 图层复合数量(只读)*/
498
+ readonly length: number;
499
+ /** 对象的容器(只读)*/
500
+ readonly parent: Document;
501
+ /** 对象的类名(只读)*/
502
+ readonly typename: string;
503
+ /** 通过索引访问图层复合 */
504
+ [index: number]: LayerComp;
505
+
506
+ /**
507
+ * 新建图层复合。
508
+ * @param name 图层复合名称
509
+ * @param comment 注释(可选)
510
+ * @param appearance 是否捕获外观(可选)
511
+ * @param position 是否捕获位置(可选)
512
+ * @param visibility 是否捕获可见性(可选)
513
+ */
514
+ add(
515
+ name: string,
516
+ comment?: string,
517
+ appearance?: boolean,
518
+ position?: boolean,
519
+ visibility?: boolean
520
+ ): LayerComp;
521
+
522
+ /**
523
+ * 通过名称获取图层复合。
524
+ * @param name 名称
525
+ */
526
+ getByName(name: string): LayerComp;
527
+
528
+ /** 删除所有图层复合 */
529
+ removeAll(): void;
530
+ }