-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathmanual.tjs
More file actions
261 lines (242 loc) · 10.1 KB
/
manual.tjs
File metadata and controls
261 lines (242 loc) · 10.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
/**
* 擬似コードによるマニュアル
*
* PSDファイルストレージ機能
* 以下のパス名でPSDファイルのレイヤ画像を直接ファイルとしてロードできます
*
* psd://PSDファイル名/root/フォルダ名/.../レイヤ名.bmp
* psd://PSDファイル名/id/レイヤID.bmp
*
* ・PSDファイル名はベース名のみで小文字で正規化されます
* ・フォルダ名、レイヤ名は全て小文字で正規化されて含まれる"/" は "_" に置換されます
* ・名前が重複する場合は後にあるものが優先になります
*/
class PSD {
// カラーモード定義
color_mode_bitmap = 0;
color_mode_grayscale = 1;
color_mode_indexed = 2;
color_mode_rgb = 3;
color_mode_cmyk = 4;
color_mode_multichannel = 7;
color_mode_duotone = 8;
color_mode_lab = 9;
// レイヤ種別定義
layer_type_normal = 0; // 通常レイヤ
layer_type_hidden = 1; // フォルダ区切り(内部構造用の隠しレイヤなので無視推奨)
layer_type_folder = 2; // フォルダレイヤ
layer_type_adjust = 3; // 調整レイヤ
layer_type_fill = 4; // 塗りつぶしレイヤ
// 合成モード定義
blend_mode_invalid = -1; // 未知、あるいは何らかの理由で取得出来なかったケース
blend_mode_normal = 0;
blend_mode_dissolve = 1;
blend_mode_darken = 2;
blend_mode_multiply = 3;
blend_mode_color_burn = 4;
blend_mode_linear_burn = 5;
blend_mode_lighten = 6;
blend_mode_screen = 7;
blend_mode_color_dodge = 8;
blend_mode_linear_dodge = 9;
blend_mode_overlay = 10;
blend_mode_soft_light = 11;
blend_mode_hard_light = 12;
blend_mode_vivid_light = 13;
blend_mode_linear_light = 14;
blend_mode_pin_light = 15;
blend_mode_hard_mix = 16;
blend_mode_difference = 17;
blend_mode_exclusion = 18;
blend_mode_hue = 19;
blend_mode_saturation = 20;
blend_mode_color = 21;
blend_mode_luminosity = 22;
blend_mode_pass_through = 23;
blend_mode_darker_color = 24; // ここ以降はlibpsd版とは非互換(libpsd版にはない)
blend_mode_lighter_color = 25;
blend_mode_subtract = 26;
blend_mode_divide = 27;
/**
* PSD画像のロード
* @param filename ファイル名
* @return ロードに成功したら true
*/
function load(filename);
/**
* LayerIDが未設定のレイヤに対してID番号を自動割り付け(base_id+1からlayer_no順に)
* Photoshop互換系のpsd保存ツールではレイヤIDが割り付けられないケースがあるため,psd://~/id/ が正しくロードできない問題がある
* 基本的にはload直後に呼ぶことを推奨
* @param base_id 割り付けID最小番号-1(※既存のいずれかのレイヤIDがこれより大きかったらその値が利用される)
* @return IDを設定したレイヤの枚数
*/
function assignAutoIds(base_id=0);
// 画像の基本プロパティ
property width; //< 画像横幅
property height; //< 画像縦幅
property channels; //< チャンネル数
property color_mode; //< カラーモード
property layer_count; //< レイヤ数
/**
* レイヤ種別の取得
* @param no レイヤ番号
* @return レイヤ種別
*/
function getLayerType(no);
/**
* レイヤの名前の取得
* @param no レイヤ番号
* @return レイヤ名称
*/
function getLayerName(no);
/**
* レイヤの情報の取得
* @param no レイヤ番号
* @return レイヤ情報がはいった辞書
* 辞書の内容
* layer_type レイヤ種別
* top 上座標
* left 左座標
* bottom 底座標
* right 右座標
* width 横幅
* height 縦幅
* blend_mode 合成モード
* opacity 不透明度
* fill_opacity 塗りの不透明度
* visible 表示状態
* name レイヤ名
* layer_id レイヤID
* group_layer_id 親レイヤID
* type 合成モード(吉里吉里の対応モード)
* clipping クリッピングマスクの対象か?
* mask レイヤマスクを持っているかどうか?
* layer_comp レイヤーカンプ情報(カンプIDをキーとした辞書)
* %[ <id>: [ id, // カンプID(getLayerComp() を参照してください)
* offset_x, // レイヤのXオフセット
* offset_y, // レイヤのYオフセット
* enable, // 表示状態フラグ
* ],... ]
* 以下 additional information (※詳細はPSD仕様書を参照のこと)
* obsolete
* transparency_protected
* pixel_data_irrelevant
*/
function getLayerInfo(no);
/**
* レイヤデータの読み出し
* @param layer 読み出し先レイヤ
* @param no レイヤ番号
* layer_type が layer_type_normal の場合のみ読み込みできます
* イメージとマスクを合成した状態で読み出します。
* データ内容のほか以下のプロパティが自動的にレイヤに設定されます
* left 左座標
* top 上座標
* width 横幅
* height 縦幅
* type 合成モード
* opacity 不透明度
* fill_opacity 塗りの不透明度
* visible 表示状態
* imageLeft 0になります
* imageTop 0になります
* imageWidth width になります
* imageHeight height になります
* name name が設定されます
*/
function getLayerData(layer, no);
/**
* レイヤデータの読み出し
* @param layer 読み出し先レイヤ
* @param no レイヤ番号
* layer_type が layer_type_normal の場合のみ読み込みできます
* イメージのみを読み出します。
* データ内容のほか以下のプロパティが自動的にレイヤに設定されます
* left 左座標
* top 上座標
* width 横幅
* height 縦幅
* type 合成モード
* opacity 不透明度
* fill_opacity 塗りの不透明度
* visible 表示状態
* imageLeft 0になります
* imageTop 0になります
* imageWidth width になります
* imageHeight height になります
* name name が設定されます
*/
function getLayerDataRaw(layer, no);
/**
* レイヤデータの読み出し
* @param layer 読み出し先レイヤ
* @param no レイヤ番号
* layer_type が layer_type_normal の場合のみ読み込みできます
* マスクのみを読み出します。
* マスクのイメージサイズが0でdefualtMaskColorのみが設定されているケースでは、
* 「レイヤサイズを0には設定できない」と言う吉里吉里の制限を回避するため、
* (0,0)-(1,1)の最小サイズのレイヤをダミーで作り、defaultMaskColorでfillして返します。
* データ内容のほか以下のプロパティが自動的にレイヤに設定されます
* left 左座標
* top 上座標
* width 横幅
* height 縦幅
* type 合成モード
* opacity 不透明度
* fill_opacity 塗りの不透明度
* visible 表示状態
* imageLeft 0になります
* imageTop 0になります
* imageWidth width になります
* imageHeight height になります
* name name が設定されます
* defaultMaskColor 取得領域外のマスクカラー(常に0か255のどちらか)
*/
function getLayerDataMask(layer, no);
/**
* スライスデータの読み出し
* @return スライス情報辞書 %[ top, left, bottom, right, slices:[ %[ id, group_id, left, top, bottom, right ], ... ] ]
* スライス情報がない場合は void を返す
* スライスの一番最後は全スライスを含むサイズのスライスのようです
*/
function getSlices();
/**
* ガイドデータの読み出し
* @return ガイド情報辞書 %[ vertical:[ x1, x2, ... ], horizontal:[ y1, y2, ... ] ]
* ガイド情報がない場合は void を返す
*/
function getGuides();
/**
* 合成結果の取得。
* ライブラリ中で合成を行うわけではなく、PSDに保存された合成結果を読み出します。
* 保存方法によってはこの画像は存在しない可能性があります。
* また、レイヤが存在しないカラーモード(2値、インデックスカラー)の場合には
* 画像データはこのメソッドで取得する必要があります。
* @param layer 格納先レイヤ
* @return 取得に成功したら true
*/
function getBlend(layer);
/**
* レイヤーカンプデータの読み出し
* @return ガイド情報辞書 %[ last_applied_id, // Photoshp上で最後に適用状態だったid
* comps:[id, // カンプID
* record_visibility, // 表示/非表示を記録しているか
* record_position, // 位置を記録しているか
* record_appearance, // 外観(レイヤーエフェクト)を記録しているか
* name, // カンプ名
* comment, // コメント
* ],... ]
* カンプ情報がない場合は void を返す
*
* ・record_xxx フラグが立っていな場合は最後に適用したカンプ(last_applied_id ではなく
* プログラムで最後に適用したカンプ)の状態を引き継ぎます
* ・カンプIDに対応した各レイヤーごとの表示状態情報は、レイヤー情報の layer_comp
* プロパティにカンプIDをキーとした辞書に格納してあります。
*/
function getLayerComp();
/**
* static method
* ストレージとして保持されてるキャッシュをクリアする
*/
function clearStorageCache();
};