ag-psd 27.0.0 → 28.0.1
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/.v8-cache/v22.13.1-x64-00250a7c/4511bacf +0 -0
- package/.v8-cache/v22.13.1-x64-00250a7c/a7e80865 +0 -0
- package/.v8-cache/v22.13.1-x64-00250a7c/b3c2fab7 +0 -0
- package/.v8-cache/v22.13.1-x64-00250a7c/c314aece +0 -0
- package/.v8-cache/v22.13.1-x64-00250a7c/cfc49f4f +0 -0
- package/.v8-cache/v22.13.1-x64-00250a7c/e03e2acd +0 -0
- package/CHANGELOG.md +3 -0
- package/README_PSD.md +3 -0
- package/dist/additionalInfo.d.ts +2 -1
- package/dist/additionalInfo.js +4 -4
- package/dist/additionalInfo.js.map +1 -1
- package/dist/bundle.js +54 -29
- package/dist/descriptor.js +1 -1
- package/dist/descriptor.js.map +1 -1
- package/dist/engineData.js +9 -4
- package/dist/engineData.js.map +1 -1
- package/dist/imageResources.d.ts +7 -3
- package/dist/imageResources.js.map +1 -1
- package/dist/psd.d.ts +2 -2
- package/dist/psdReader.d.ts +3 -2
- package/dist/psdReader.js +30 -12
- package/dist/psdReader.js.map +1 -1
- package/dist/psdWriter.js +10 -8
- package/dist/psdWriter.js.map +1 -1
- package/dist-es/additionalInfo.d.ts +2 -1
- package/dist-es/additionalInfo.js +4 -4
- package/dist-es/additionalInfo.js.map +1 -1
- package/dist-es/descriptor.js +1 -1
- package/dist-es/descriptor.js.map +1 -1
- package/dist-es/engineData.js +9 -4
- package/dist-es/engineData.js.map +1 -1
- package/dist-es/imageResources.d.ts +7 -3
- package/dist-es/imageResources.js.map +1 -1
- package/dist-es/psd.d.ts +2 -2
- package/dist-es/psdReader.d.ts +3 -2
- package/dist-es/psdReader.js +30 -12
- package/dist-es/psdReader.js.map +1 -1
- package/dist-es/psdWriter.js +10 -8
- package/dist-es/psdWriter.js.map +1 -1
- package/package.json +1 -2
- package/src/additionalInfo.ts +6 -5
- package/src/descriptor.ts +1 -1
- package/src/engineData.ts +10 -4
- package/src/imageResources.ts +11 -6
- package/src/psd.ts +2 -2
- package/src/psdReader.ts +23 -14
- package/src/psdWriter.ts +14 -12
package/dist-es/psdWriter.js
CHANGED
|
@@ -187,10 +187,10 @@ export function writePsd(writer, psd, options) {
|
|
|
187
187
|
if (bitsPerChannel !== 8)
|
|
188
188
|
throw new Error('bitsPerChannel other than 8 are not supported for writing');
|
|
189
189
|
verifyBitCount(psd);
|
|
190
|
-
var imageResources = psd.imageResources
|
|
190
|
+
var imageResources = __assign({}, psd.imageResources);
|
|
191
191
|
var opt = __assign(__assign({}, options), { layerIds: new Set(), layerToId: new Map() });
|
|
192
192
|
if (opt.generateThumbnail) {
|
|
193
|
-
imageResources =
|
|
193
|
+
imageResources.thumbnail = createThumbnail(psd);
|
|
194
194
|
}
|
|
195
195
|
var imageData = psd.imageData;
|
|
196
196
|
if (!imageData && psd.canvas) {
|
|
@@ -223,7 +223,13 @@ export function writePsd(writer, psd, options) {
|
|
|
223
223
|
}
|
|
224
224
|
// TODO: other data?
|
|
225
225
|
});
|
|
226
|
+
var layers = [];
|
|
227
|
+
addChildren(layers, psd.children);
|
|
228
|
+
if (!layers.length)
|
|
229
|
+
layers.push({});
|
|
226
230
|
// image resources
|
|
231
|
+
imageResources.layersGroup = layers.map(function (l) { return l.linkGroup || 0; });
|
|
232
|
+
imageResources.layerGroupsEnabledId = layers.map(function (l) { return l.linkGroupEnabled == false ? 0 : 1; });
|
|
227
233
|
writeSection(writer, 1, function () {
|
|
228
234
|
var _loop_1 = function (handler) {
|
|
229
235
|
var has = handler.has(imageResources);
|
|
@@ -245,7 +251,7 @@ export function writePsd(writer, psd, options) {
|
|
|
245
251
|
});
|
|
246
252
|
// layer and mask info
|
|
247
253
|
writeSection(writer, 2, function () {
|
|
248
|
-
writeLayerInfo(writer, psd, globalAlpha, opt);
|
|
254
|
+
writeLayerInfo(writer, layers, psd, globalAlpha, opt);
|
|
249
255
|
writeGlobalLayerMaskInfo(writer, psd.globalLayerMaskInfo);
|
|
250
256
|
writeAdditionalLayerInfo(writer, psd, psd, opt);
|
|
251
257
|
}, undefined, !!opt.psb);
|
|
@@ -280,13 +286,9 @@ export function writePsd(writer, psd, options) {
|
|
|
280
286
|
writeBytes(writer, writeDataRLE(writer.tempBuffer, data, channels, !!options.psb));
|
|
281
287
|
}
|
|
282
288
|
}
|
|
283
|
-
function writeLayerInfo(writer, psd, globalAlpha, options) {
|
|
289
|
+
function writeLayerInfo(writer, layers, psd, globalAlpha, options) {
|
|
284
290
|
writeSection(writer, 4, function () {
|
|
285
291
|
var _a;
|
|
286
|
-
var layers = [];
|
|
287
|
-
addChildren(layers, psd.children);
|
|
288
|
-
if (!layers.length)
|
|
289
|
-
layers.push({});
|
|
290
292
|
writeInt16(writer, globalAlpha ? -layers.length : layers.length);
|
|
291
293
|
var layersData = layers.map(function (l, i) { return getChannels(writer.tempBuffer, l, i === 0, options); });
|
|
292
294
|
var _loop_3 = function (layerData) {
|
package/dist-es/psdWriter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psdWriter.js","sourceRoot":"../src/","sources":["psdWriter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"psdWriter.js","sourceRoot":"../src/","sources":["psdWriter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ag-psd",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "28.0.1",
|
|
4
4
|
"description": "Library for reading and writing PSD files",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist-es/index.js",
|
|
@@ -46,7 +46,6 @@
|
|
|
46
46
|
"typescript": "^4.9.4"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@types/base64-js": "^1.3.2",
|
|
50
49
|
"base64-js": "^1.5.1",
|
|
51
50
|
"pako": "^2.1.0"
|
|
52
51
|
}
|
package/src/additionalInfo.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { Annt, BlnM, DescriptorColor, DescriptorUnitsValue, parsePercent, parseU
|
|
|
8
8
|
import { serializeEngineData, parseEngineData } from './engineData';
|
|
9
9
|
import { encodeEngineData, decodeEngineData } from './text';
|
|
10
10
|
import { decodeEngineData2 } from './engineData2';
|
|
11
|
+
import type { InternalImageResources } from './imageResources';
|
|
11
12
|
|
|
12
13
|
export interface ExtendedWriteOptions extends WriteOptions {
|
|
13
14
|
layerIds: Set<number>;
|
|
@@ -15,7 +16,7 @@ export interface ExtendedWriteOptions extends WriteOptions {
|
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
type HasMethod = (target: LayerAdditionalInfo) => boolean;
|
|
18
|
-
type ReadMethod = (reader: PsdReader, target: LayerAdditionalInfo, left: () => number, psd: Psd) => void;
|
|
19
|
+
type ReadMethod = (reader: PsdReader, target: LayerAdditionalInfo, left: () => number, psd: Psd, imageResources: InternalImageResources) => void;
|
|
19
20
|
type WriteMethod = (writer: PsdWriter, target: LayerAdditionalInfo, psd: Psd, options: ExtendedWriteOptions) => void;
|
|
20
21
|
|
|
21
22
|
export interface InfoHandler {
|
|
@@ -3520,8 +3521,8 @@ addHandler(
|
|
|
3520
3521
|
addHandler(
|
|
3521
3522
|
'Lr16',
|
|
3522
3523
|
() => false,
|
|
3523
|
-
(reader, _target, _left, psd) => {
|
|
3524
|
-
readLayerInfo(reader, psd);
|
|
3524
|
+
(reader, _target, _left, psd, imageResources) => {
|
|
3525
|
+
readLayerInfo(reader, psd, imageResources);
|
|
3525
3526
|
},
|
|
3526
3527
|
(_writer, _target) => {
|
|
3527
3528
|
},
|
|
@@ -3530,8 +3531,8 @@ addHandler(
|
|
|
3530
3531
|
addHandler(
|
|
3531
3532
|
'Lr32',
|
|
3532
3533
|
() => false,
|
|
3533
|
-
(reader, _target, _left, psd) => {
|
|
3534
|
-
readLayerInfo(reader, psd);
|
|
3534
|
+
(reader, _target, _left, psd, imageResources) => {
|
|
3535
|
+
readLayerInfo(reader, psd, imageResources);
|
|
3535
3536
|
},
|
|
3536
3537
|
(_writer, _target) => {
|
|
3537
3538
|
},
|
package/src/descriptor.ts
CHANGED
|
@@ -1932,7 +1932,7 @@ export const stdTrackID = createEnum<TimelineTrackType>('stdTrackID', 'opacity',
|
|
|
1932
1932
|
|
|
1933
1933
|
export const gradientInterpolationMethodType = createEnum<InterpolationMethod>('gradientInterpolationMethodType', 'perceptual', {
|
|
1934
1934
|
perceptual: 'Perc',
|
|
1935
|
-
linear: 'Lnr',
|
|
1935
|
+
linear: 'Lnr ',
|
|
1936
1936
|
classic: 'Gcls',
|
|
1937
1937
|
smooth: 'Smoo',
|
|
1938
1938
|
});
|
package/src/engineData.ts
CHANGED
|
@@ -110,7 +110,11 @@ export function parseEngineData(data: number[] | Uint8Array) {
|
|
|
110
110
|
|
|
111
111
|
skipWhitespace();
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
let dataLength = data.length;
|
|
114
|
+
|
|
115
|
+
while (dataLength > 0 && data[dataLength - 1] === 0) dataLength--; // trim 0 bytes from end
|
|
116
|
+
|
|
117
|
+
while (index < dataLength) {
|
|
114
118
|
const i = index;
|
|
115
119
|
const char = data[i];
|
|
116
120
|
|
|
@@ -164,9 +168,11 @@ export function parseEngineData(data: number[] | Uint8Array) {
|
|
|
164
168
|
pushValue(parseFloat(value));
|
|
165
169
|
} else {
|
|
166
170
|
index += 1;
|
|
167
|
-
console.log(`Invalid token ${String.fromCharCode(char)} at ${index}`
|
|
168
|
-
|
|
169
|
-
|
|
171
|
+
console.log(`Invalid token '${String.fromCharCode(char)}' (${char}) at ${index}`
|
|
172
|
+
// + ` near '${String.fromCharCode.apply(null, data.slice(index - 10, index + 20) as any)}'`
|
|
173
|
+
// + ` data [${Array.from(data.slice(index - 10, index + 20)).join(', ')}]`
|
|
174
|
+
);
|
|
175
|
+
// throw new Error(`Invalid token ${String.fromCharCode(char)} at ${index}`);
|
|
170
176
|
}
|
|
171
177
|
|
|
172
178
|
skipWhitespace();
|
package/src/imageResources.ts
CHANGED
|
@@ -6,11 +6,16 @@ import { createCanvasFromData, createEnum, MOCK_HANDLERS } from './helpers';
|
|
|
6
6
|
import { decodeString, encodeString } from './utf8';
|
|
7
7
|
import { ESliceBGColorType, ESliceHorzAlign, ESliceOrigin, ESliceType, ESliceVertAlign, frac, FractionDescriptor, parseTrackList, readVersionAndDescriptor, serializeTrackList, TimelineTrackDescriptor, TimeScopeDescriptor, writeVersionAndDescriptor } from './descriptor';
|
|
8
8
|
|
|
9
|
+
export interface InternalImageResources extends ImageResources {
|
|
10
|
+
layersGroup?: number[];
|
|
11
|
+
layerGroupsEnabledId?: number[];
|
|
12
|
+
}
|
|
13
|
+
|
|
9
14
|
export interface ResourceHandler {
|
|
10
15
|
key: number;
|
|
11
|
-
has: (target:
|
|
12
|
-
read: (reader: PsdReader, target:
|
|
13
|
-
write: (writer: PsdWriter, target:
|
|
16
|
+
has: (target: InternalImageResources) => boolean | number;
|
|
17
|
+
read: (reader: PsdReader, target: InternalImageResources, left: () => number) => void;
|
|
18
|
+
write: (writer: PsdWriter, target: InternalImageResources, index: number) => void;
|
|
14
19
|
}
|
|
15
20
|
|
|
16
21
|
export const resourceHandlers: ResourceHandler[] = [];
|
|
@@ -18,9 +23,9 @@ export const resourceHandlersMap: { [key: number]: ResourceHandler } = {};
|
|
|
18
23
|
|
|
19
24
|
function addHandler(
|
|
20
25
|
key: number,
|
|
21
|
-
has: (target:
|
|
22
|
-
read: (reader: PsdReader, target:
|
|
23
|
-
write: (writer: PsdWriter, target:
|
|
26
|
+
has: (target: InternalImageResources) => boolean | number,
|
|
27
|
+
read: (reader: PsdReader, target: InternalImageResources, left: () => number) => void,
|
|
28
|
+
write: (writer: PsdWriter, target: InternalImageResources, index: number) => void,
|
|
24
29
|
) {
|
|
25
30
|
const handler: ResourceHandler = { key, has, read, write };
|
|
26
31
|
resourceHandlers.push(handler);
|
package/src/psd.ts
CHANGED
|
@@ -1493,9 +1493,7 @@ export enum LayerCompCapturedInfo {
|
|
|
1493
1493
|
|
|
1494
1494
|
export interface ImageResources {
|
|
1495
1495
|
layerState?: number;
|
|
1496
|
-
layersGroup?: number[];
|
|
1497
1496
|
layerSelectionIds?: number[];
|
|
1498
|
-
layerGroupsEnabledId?: number[];
|
|
1499
1497
|
versionInfo?: {
|
|
1500
1498
|
hasRealMergedData: boolean;
|
|
1501
1499
|
writerName: string;
|
|
@@ -1713,6 +1711,8 @@ export interface Layer extends LayerAdditionalInfo {
|
|
|
1713
1711
|
children?: Layer[];
|
|
1714
1712
|
/** Applies only for layer groups. */
|
|
1715
1713
|
opened?: boolean;
|
|
1714
|
+
linkGroup?: number;
|
|
1715
|
+
linkGroupEnabled?: boolean;
|
|
1716
1716
|
}
|
|
1717
1717
|
|
|
1718
1718
|
export interface Psd extends LayerAdditionalInfo {
|
package/src/psdReader.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { inflate as inflateSync } from 'pako';
|
|
|
2
2
|
import { Psd, Layer, ColorMode, SectionDividerType, LayerAdditionalInfo, ReadOptions, LayerMaskData, Color, PatternInfo, GlobalLayerMaskInfo, RGB, PixelData, PixelArray } from './psd';
|
|
3
3
|
import { resetImageData, offsetForChannel, decodeBitmap, createImageData, toBlendMode, ChannelID, Compression, LayerMaskFlags, MaskParams, ColorSpace, RAW_IMAGE_DATA, largeAdditionalInfoKeys, imageDataToCanvas } from './helpers';
|
|
4
4
|
import { infoHandlersMap } from './additionalInfo';
|
|
5
|
-
import { resourceHandlersMap } from './imageResources';
|
|
5
|
+
import { InternalImageResources, resourceHandlersMap } from './imageResources';
|
|
6
6
|
|
|
7
7
|
interface ChannelInfo {
|
|
8
8
|
id: ChannelID;
|
|
@@ -257,6 +257,9 @@ export function readPsd(reader: PsdReader, readOptions: ReadOptions = {}) {
|
|
|
257
257
|
});
|
|
258
258
|
|
|
259
259
|
// image resources
|
|
260
|
+
|
|
261
|
+
const imageResources: InternalImageResources = {};
|
|
262
|
+
|
|
260
263
|
readSection(reader, 1, left => {
|
|
261
264
|
while (left() > 0) {
|
|
262
265
|
const sigOffset = reader.offset;
|
|
@@ -282,13 +285,9 @@ export function readPsd(reader: PsdReader, readOptions: ReadOptions = {}) {
|
|
|
282
285
|
const handler = resourceHandlersMap[id];
|
|
283
286
|
const skip = id === 1036 && !!reader.skipThumbnail;
|
|
284
287
|
|
|
285
|
-
if (!psd.imageResources) {
|
|
286
|
-
psd.imageResources = {};
|
|
287
|
-
}
|
|
288
|
-
|
|
289
288
|
if (handler && !skip) {
|
|
290
289
|
try {
|
|
291
|
-
handler.read(reader,
|
|
290
|
+
handler.read(reader, imageResources, left);
|
|
292
291
|
} catch (e) {
|
|
293
292
|
if (reader.throwForMissingFeatures) throw e;
|
|
294
293
|
skipBytes(reader, left());
|
|
@@ -301,10 +300,16 @@ export function readPsd(reader: PsdReader, readOptions: ReadOptions = {}) {
|
|
|
301
300
|
}
|
|
302
301
|
});
|
|
303
302
|
|
|
303
|
+
const { layersGroup, layerGroupsEnabledId, ...rest } = imageResources;
|
|
304
|
+
|
|
305
|
+
if (Object.keys(rest)) {
|
|
306
|
+
psd.imageResources = rest;
|
|
307
|
+
}
|
|
308
|
+
|
|
304
309
|
// layer and mask info
|
|
305
310
|
readSection(reader, 1, left => {
|
|
306
311
|
readSection(reader, 2, left => {
|
|
307
|
-
readLayerInfo(reader, psd);
|
|
312
|
+
readLayerInfo(reader, psd, imageResources);
|
|
308
313
|
skipBytes(reader, left());
|
|
309
314
|
}, undefined, reader.large);
|
|
310
315
|
|
|
@@ -326,7 +331,7 @@ export function readPsd(reader: PsdReader, readOptions: ReadOptions = {}) {
|
|
|
326
331
|
}
|
|
327
332
|
|
|
328
333
|
if (left() >= 12) {
|
|
329
|
-
readAdditionalLayerInfo(reader, psd, psd);
|
|
334
|
+
readAdditionalLayerInfo(reader, psd, psd, imageResources);
|
|
330
335
|
} else {
|
|
331
336
|
// opt.logMissingFeatures && console.log('skipping leftover bytes', left());
|
|
332
337
|
skipBytes(reader, left());
|
|
@@ -348,7 +353,9 @@ export function readPsd(reader: PsdReader, readOptions: ReadOptions = {}) {
|
|
|
348
353
|
return psd;
|
|
349
354
|
}
|
|
350
355
|
|
|
351
|
-
export function readLayerInfo(reader: PsdReader, psd: Psd) {
|
|
356
|
+
export function readLayerInfo(reader: PsdReader, psd: Psd, imageResources: InternalImageResources) {
|
|
357
|
+
const { layersGroup = [], layerGroupsEnabledId = [] } = imageResources;
|
|
358
|
+
|
|
352
359
|
let layerCount = readInt16(reader);
|
|
353
360
|
|
|
354
361
|
if (layerCount < 0) {
|
|
@@ -360,7 +367,9 @@ export function readLayerInfo(reader: PsdReader, psd: Psd) {
|
|
|
360
367
|
const layerChannels: ChannelInfo[][] = [];
|
|
361
368
|
|
|
362
369
|
for (let i = 0; i < layerCount; i++) {
|
|
363
|
-
const { layer, channels } = readLayerRecord(reader, psd);
|
|
370
|
+
const { layer, channels } = readLayerRecord(reader, psd, imageResources);
|
|
371
|
+
if (layersGroup[i] !== undefined) layer.linkGroup = layersGroup[i];
|
|
372
|
+
if (layerGroupsEnabledId[i] !== undefined) layer.linkGroupEnabled = !!layerGroupsEnabledId[i];
|
|
364
373
|
layers.push(layer);
|
|
365
374
|
layerChannels.push(channels);
|
|
366
375
|
}
|
|
@@ -401,7 +410,7 @@ export function readLayerInfo(reader: PsdReader, psd: Psd) {
|
|
|
401
410
|
}
|
|
402
411
|
}
|
|
403
412
|
|
|
404
|
-
function readLayerRecord(reader: PsdReader, psd: Psd) {
|
|
413
|
+
function readLayerRecord(reader: PsdReader, psd: Psd, imageResources: InternalImageResources) {
|
|
405
414
|
const layer: Layer = {};
|
|
406
415
|
layer.top = readInt32(reader);
|
|
407
416
|
layer.left = readInt32(reader);
|
|
@@ -452,7 +461,7 @@ function readLayerRecord(reader: PsdReader, psd: Psd) {
|
|
|
452
461
|
// HACK: fix for sometimes layer.name string not being padded correctly, just skip until we get valid signature
|
|
453
462
|
while (left() > 4 && !validSignatureAt(reader, reader.offset)) reader.offset++;
|
|
454
463
|
|
|
455
|
-
while (left() >= 12) readAdditionalLayerInfo(reader, layer, psd);
|
|
464
|
+
while (left() >= 12) readAdditionalLayerInfo(reader, layer, psd, imageResources);
|
|
456
465
|
|
|
457
466
|
skipBytes(reader, left());
|
|
458
467
|
});
|
|
@@ -676,7 +685,7 @@ export function readGlobalLayerMaskInfo(reader: PsdReader) {
|
|
|
676
685
|
});
|
|
677
686
|
}
|
|
678
687
|
|
|
679
|
-
export function readAdditionalLayerInfo(reader: PsdReader, target: LayerAdditionalInfo, psd: Psd) {
|
|
688
|
+
export function readAdditionalLayerInfo(reader: PsdReader, target: LayerAdditionalInfo, psd: Psd, imageResources: InternalImageResources) {
|
|
680
689
|
const sig = readSignature(reader);
|
|
681
690
|
if (sig !== '8BIM' && sig !== '8B64') throw new Error(`Invalid signature: '${sig}' at 0x${(reader.offset - 4).toString(16)}`);
|
|
682
691
|
const key = readSignature(reader);
|
|
@@ -689,7 +698,7 @@ export function readAdditionalLayerInfo(reader: PsdReader, target: LayerAddition
|
|
|
689
698
|
|
|
690
699
|
if (handler) {
|
|
691
700
|
try {
|
|
692
|
-
handler.read(reader, target, left, psd);
|
|
701
|
+
handler.read(reader, target, left, psd, imageResources);
|
|
693
702
|
} catch (e) {
|
|
694
703
|
if (reader.throwForMissingFeatures) throw e;
|
|
695
704
|
}
|
package/src/psdWriter.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Psd, Layer, LayerAdditionalInfo, ColorMode, SectionDividerType, WriteOptions, Color, GlobalLayerMaskInfo, PixelData, LayerMaskData } from './psd';
|
|
2
2
|
import { hasAlpha, createCanvas, writeDataRLE, LayerChannelData, ChannelData, offsetForChannel, createImageData, fromBlendMode, ChannelID, Compression, clamp, LayerMaskFlags, MaskParams, ColorSpace, Bounds, largeAdditionalInfoKeys, RAW_IMAGE_DATA, writeDataZipWithoutPrediction, imageDataToCanvas } from './helpers';
|
|
3
3
|
import { ExtendedWriteOptions, infoHandlers } from './additionalInfo';
|
|
4
|
-
import { resourceHandlers } from './imageResources';
|
|
4
|
+
import { InternalImageResources, resourceHandlers } from './imageResources';
|
|
5
5
|
|
|
6
6
|
export interface PsdWriter {
|
|
7
7
|
offset: number;
|
|
@@ -221,12 +221,11 @@ export function writePsd(writer: PsdWriter, psd: Psd, options: WriteOptions = {}
|
|
|
221
221
|
|
|
222
222
|
verifyBitCount(psd);
|
|
223
223
|
|
|
224
|
-
|
|
225
|
-
|
|
224
|
+
const imageResources: InternalImageResources = { ...psd.imageResources };
|
|
226
225
|
const opt: ExtendedWriteOptions = { ...options, layerIds: new Set(), layerToId: new Map() };
|
|
227
226
|
|
|
228
227
|
if (opt.generateThumbnail) {
|
|
229
|
-
imageResources =
|
|
228
|
+
imageResources.thumbnail = createThumbnail(psd);
|
|
230
229
|
}
|
|
231
230
|
|
|
232
231
|
let imageData = psd.imageData;
|
|
@@ -263,7 +262,15 @@ export function writePsd(writer: PsdWriter, psd: Psd, options: WriteOptions = {}
|
|
|
263
262
|
// TODO: other data?
|
|
264
263
|
});
|
|
265
264
|
|
|
265
|
+
const layers: Layer[] = [];
|
|
266
|
+
addChildren(layers, psd.children);
|
|
267
|
+
if (!layers.length) layers.push({});
|
|
268
|
+
|
|
266
269
|
// image resources
|
|
270
|
+
|
|
271
|
+
imageResources.layersGroup = layers.map(l => l.linkGroup || 0);
|
|
272
|
+
imageResources.layerGroupsEnabledId = layers.map(l => l.linkGroupEnabled == false ? 0 : 1);
|
|
273
|
+
|
|
267
274
|
writeSection(writer, 1, () => {
|
|
268
275
|
for (const handler of resourceHandlers) {
|
|
269
276
|
const has = handler.has(imageResources);
|
|
@@ -279,7 +286,7 @@ export function writePsd(writer: PsdWriter, psd: Psd, options: WriteOptions = {}
|
|
|
279
286
|
|
|
280
287
|
// layer and mask info
|
|
281
288
|
writeSection(writer, 2, () => {
|
|
282
|
-
writeLayerInfo(writer, psd, globalAlpha, opt);
|
|
289
|
+
writeLayerInfo(writer, layers, psd, globalAlpha, opt);
|
|
283
290
|
writeGlobalLayerMaskInfo(writer, psd.globalLayerMaskInfo);
|
|
284
291
|
writeAdditionalLayerInfo(writer, psd, psd, opt);
|
|
285
292
|
}, undefined, !!opt.psb);
|
|
@@ -318,14 +325,8 @@ export function writePsd(writer: PsdWriter, psd: Psd, options: WriteOptions = {}
|
|
|
318
325
|
}
|
|
319
326
|
}
|
|
320
327
|
|
|
321
|
-
function writeLayerInfo(writer: PsdWriter, psd: Psd, globalAlpha: boolean, options: ExtendedWriteOptions) {
|
|
328
|
+
function writeLayerInfo(writer: PsdWriter, layers: Layer[], psd: Psd, globalAlpha: boolean, options: ExtendedWriteOptions) {
|
|
322
329
|
writeSection(writer, 4, () => {
|
|
323
|
-
const layers: Layer[] = [];
|
|
324
|
-
|
|
325
|
-
addChildren(layers, psd.children);
|
|
326
|
-
|
|
327
|
-
if (!layers.length) layers.push({});
|
|
328
|
-
|
|
329
330
|
writeInt16(writer, globalAlpha ? -layers.length : layers.length);
|
|
330
331
|
|
|
331
332
|
const layersData = layers.map((l, i) => getChannels(writer.tempBuffer!, l, i === 0, options));
|
|
@@ -494,6 +495,7 @@ function writeAdditionalLayerInfo(writer: PsdWriter, target: LayerAdditionalInfo
|
|
|
494
495
|
}
|
|
495
496
|
}
|
|
496
497
|
}
|
|
498
|
+
|
|
497
499
|
function addChildren(layers: Layer[], children: Layer[] | undefined) {
|
|
498
500
|
if (!children) return;
|
|
499
501
|
|