ag-psd 28.2.2 → 28.3.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.
- package/.v8-cache/v22.13.1-x64-00250a7c/05135617 +0 -0
- package/.v8-cache/v22.13.1-x64-00250a7c/4511bacf +0 -0
- package/.v8-cache/v22.13.1-x64-00250a7c/acc36e66 +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/d198da8f +0 -0
- package/dist/additionalInfo.js +0 -1
- package/dist/additionalInfo.js.map +1 -1
- package/dist/bundle.js +94 -49
- package/dist/descriptor.js +6 -1
- package/dist/descriptor.js.map +1 -1
- package/dist/imageResources.js +21 -0
- package/dist/imageResources.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/psd.d.ts +2 -0
- package/dist/psdReader.d.ts +1 -1
- package/dist/psdReader.js +29 -21
- package/dist/psdReader.js.map +1 -1
- package/dist/psdWriter.d.ts +1 -0
- package/dist/psdWriter.js +38 -26
- package/dist/psdWriter.js.map +1 -1
- package/dist/utf8.d.ts +1 -0
- package/dist-es/additionalInfo.js +0 -1
- package/dist-es/additionalInfo.js.map +1 -1
- package/dist-es/descriptor.js +6 -1
- package/dist-es/descriptor.js.map +1 -1
- package/dist-es/imageResources.js +23 -2
- package/dist-es/imageResources.js.map +1 -1
- package/dist-es/index.d.ts +2 -1
- package/dist-es/psd.d.ts +2 -0
- package/dist-es/psdReader.d.ts +1 -1
- package/dist-es/psdReader.js +29 -21
- package/dist-es/psdReader.js.map +1 -1
- package/dist-es/psdWriter.d.ts +1 -0
- package/dist-es/psdWriter.js +36 -25
- package/dist-es/psdWriter.js.map +1 -1
- package/dist-es/utf8.d.ts +1 -0
- package/package.json +4 -4
- package/src/additionalInfo.ts +0 -2
- package/src/descriptor.ts +7 -1
- package/src/imageResources.ts +37 -4
- package/src/index.ts +1 -1
- package/src/psd.ts +2 -0
- package/src/psdReader.ts +32 -22
- package/src/psdWriter.ts +35 -25
- package/tsconfig.json +1 -0
package/dist-es/psdWriter.js
CHANGED
|
@@ -89,6 +89,11 @@ export function writeSignature(writer, signature) {
|
|
|
89
89
|
writeUint8(writer, signature.charCodeAt(i));
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
+
export function writeAsciiString(writer, text) {
|
|
93
|
+
for (var i = 0; i < text.length; i++) {
|
|
94
|
+
writeUint8(writer, text.charCodeAt(i));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
92
97
|
export function writePascalString(writer, text, padTo) {
|
|
93
98
|
var length = text.length;
|
|
94
99
|
if (length > 255)
|
|
@@ -149,11 +154,11 @@ export function writeSection(writer, round, func, writeTotalLength, large) {
|
|
|
149
154
|
func();
|
|
150
155
|
var length = writer.offset - offset - 4;
|
|
151
156
|
var len = length;
|
|
152
|
-
while (
|
|
157
|
+
while (len % round) {
|
|
153
158
|
writeUint8(writer, 0);
|
|
154
159
|
len++;
|
|
155
160
|
}
|
|
156
|
-
// while (
|
|
161
|
+
// while (writer.offset % round) {
|
|
157
162
|
// writeUint8(writer, 0);
|
|
158
163
|
// len++;
|
|
159
164
|
// }
|
|
@@ -452,7 +457,7 @@ function writeAdditionalLayerInfo(writer, target, psd, options) {
|
|
|
452
457
|
var writeTotalLength = key !== 'Txt2' && key !== 'cinf' && key !== 'extn' && key !== 'CAI ' && key !== 'OCIO';
|
|
453
458
|
var fourBytes = key === 'Txt2' || key === 'luni' || key === 'vmsk' || key === 'artb' || key === 'artd' ||
|
|
454
459
|
key === 'vogk' || key === 'SoLd' || key === 'lnk2' || key === 'vscg' || key === 'vsms' || key === 'GdFl' ||
|
|
455
|
-
key === 'lmfx' || key === 'lrFX' || key === 'cinf' || key === 'PlLd' || key === 'Anno' || key === 'CAI ' || key === 'OCIO' || key === 'GenI' || key === 'FEid';
|
|
460
|
+
key === 'lmfx' || key === 'lrFX' || key === 'cinf' || key === 'PlLd' || key === 'Anno' || key === 'CAI ' || key === 'OCIO' || key === 'GenI' || key === 'FEid' || key === 'curv' || key === 'CgEd' || key === 'vibA' || key === 'blwh' || key === 'grdm';
|
|
456
461
|
writeSignature(writer, large ? '8B64' : '8BIM');
|
|
457
462
|
writeSignature(writer, key);
|
|
458
463
|
writeSection(writer, fourBytes ? 4 : 2, function () {
|
|
@@ -561,28 +566,30 @@ function getMaskChannels(tempBuffer, layerData, layer, mask, options, realMask)
|
|
|
561
566
|
if (!imageData && mask.canvas && width && height) {
|
|
562
567
|
imageData = mask.canvas.getContext('2d').getImageData(0, 0, width, height);
|
|
563
568
|
}
|
|
564
|
-
if (
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
569
|
+
if (imageData && (imageData.width !== width || imageData.height !== height)) {
|
|
570
|
+
throw new Error('Invalid imageData dimentions');
|
|
571
|
+
}
|
|
572
|
+
right = left + width;
|
|
573
|
+
bottom = top + height;
|
|
574
|
+
var buffer;
|
|
575
|
+
var compression;
|
|
576
|
+
if (RAW_IMAGE_DATA && layer[realMask ? 'realMaskDataRaw' : 'maskDataRaw']) {
|
|
577
|
+
buffer = layer[realMask ? 'realMaskDataRaw' : 'maskDataRaw'];
|
|
578
|
+
compression = layer[realMask ? 'realMaskDataRawCompression' : 'maskDataRawCompression'];
|
|
579
|
+
}
|
|
580
|
+
else if (!imageData) {
|
|
581
|
+
buffer = new Uint8Array(0);
|
|
582
|
+
compression = 1 /* Compression.RleCompressed */;
|
|
583
|
+
}
|
|
584
|
+
else if (options.compress) {
|
|
585
|
+
buffer = writeDataZipWithoutPrediction(imageData, [0]);
|
|
586
|
+
compression = 2 /* Compression.ZipWithoutPrediction */;
|
|
587
|
+
}
|
|
588
|
+
else {
|
|
589
|
+
buffer = writeDataRLE(tempBuffer, imageData, [0], !!options.psb);
|
|
590
|
+
compression = 1 /* Compression.RleCompressed */;
|
|
585
591
|
}
|
|
592
|
+
layerData.channels.push({ channelId: realMask ? -3 /* ChannelID.RealUserMask */ : -2 /* ChannelID.UserMask */, compression: compression, buffer: buffer, length: 2 + buffer.length });
|
|
586
593
|
layerData[realMask ? 'realMask' : 'mask'] = { top: top, left: left, right: right, bottom: bottom };
|
|
587
594
|
}
|
|
588
595
|
function getChannels(tempBuffer, layer, background, options) {
|
|
@@ -594,8 +601,12 @@ function getChannels(tempBuffer, layer, background, options) {
|
|
|
594
601
|
return layerData;
|
|
595
602
|
}
|
|
596
603
|
function getLayerDimentions(_a) {
|
|
604
|
+
var _b, _c, _d, _e;
|
|
597
605
|
var canvas = _a.canvas, imageData = _a.imageData;
|
|
598
|
-
|
|
606
|
+
// this way in case canvas/imageData are incorrect objects without width/height properties
|
|
607
|
+
var width = (_c = (_b = imageData === null || imageData === void 0 ? void 0 : imageData.width) !== null && _b !== void 0 ? _b : canvas === null || canvas === void 0 ? void 0 : canvas.width) !== null && _c !== void 0 ? _c : 0;
|
|
608
|
+
var height = (_e = (_d = imageData === null || imageData === void 0 ? void 0 : imageData.height) !== null && _d !== void 0 ? _d : canvas === null || canvas === void 0 ? void 0 : canvas.height) !== null && _e !== void 0 ? _e : 0;
|
|
609
|
+
return { width: width, height: height };
|
|
599
610
|
}
|
|
600
611
|
function cropImageData(data, left, top, width, height) {
|
|
601
612
|
if (data.data instanceof Uint32Array || data.data instanceof Uint16Array) {
|
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/dist-es/utf8.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
2
3
|
export declare function stringLengthInBytes(value: string): number;
|
|
3
4
|
export declare function encodeStringTo(buffer: Uint8Array | Buffer, offset: number, value: string): number;
|
|
4
5
|
export declare function encodeString(value: string): Uint8Array;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ag-psd",
|
|
3
|
-
"version": "28.
|
|
3
|
+
"version": "28.3.0",
|
|
4
4
|
"description": "Library for reading and writing PSD files",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist-es/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"license": "MIT",
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/mocha": "^10.0.10",
|
|
38
|
-
"@types/node": "^18.
|
|
38
|
+
"@types/node": "^22.18.3",
|
|
39
39
|
"@types/pako": "^2.0.3",
|
|
40
40
|
"browserify": "^17.0.1",
|
|
41
41
|
"canvas": "^3.1.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"typescript": "^4.9.4"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"base64-js": "
|
|
50
|
-
"pako": "
|
|
49
|
+
"base64-js": "1.5.1",
|
|
50
|
+
"pako": "2.1.0"
|
|
51
51
|
}
|
|
52
52
|
}
|
package/src/additionalInfo.ts
CHANGED
|
@@ -4228,8 +4228,6 @@ addHandler(
|
|
|
4228
4228
|
if (red && red.length) { writeUint16(writer, 1); writeCurveChannel(writer, red); }
|
|
4229
4229
|
if (green && green.length) { writeUint16(writer, 2); writeCurveChannel(writer, green); }
|
|
4230
4230
|
if (blue && blue.length) { writeUint16(writer, 3); writeCurveChannel(writer, blue); }
|
|
4231
|
-
|
|
4232
|
-
writeZeros(writer, 2);
|
|
4233
4231
|
},
|
|
4234
4232
|
);
|
|
4235
4233
|
|
package/src/descriptor.ts
CHANGED
|
@@ -1465,7 +1465,13 @@ function parseEffectObject(obj: any, reportErrors: boolean) {
|
|
|
1465
1465
|
}
|
|
1466
1466
|
|
|
1467
1467
|
function serializeEffectObject(obj: any, objName: string, reportErrors: boolean) {
|
|
1468
|
-
const result: any = {
|
|
1468
|
+
const result: any = {
|
|
1469
|
+
enab: false,
|
|
1470
|
+
};
|
|
1471
|
+
|
|
1472
|
+
if (objName === 'dropShadow') {
|
|
1473
|
+
result.TrnS = { 'Nm ': '', 'Crv ': [] };
|
|
1474
|
+
}
|
|
1469
1475
|
|
|
1470
1476
|
for (const objKey of Object.keys(obj)) {
|
|
1471
1477
|
const key: keyof AllEffects = objKey as any;
|
package/src/imageResources.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { toByteArray } from 'base64-js';
|
|
2
2
|
import { BlendMode, ImageResources, RenderingIntent } from './psd';
|
|
3
|
-
import { PsdReader, readUnicodeString, readUint32, readUint16, readUint8, readFloat64, readBytes, skipBytes, readFloat32, readInt16, readFixedPoint32, readSignature, checkSignature, readSection, readColor, readInt32 } from './psdReader';
|
|
4
|
-
import { PsdWriter, writeUnicodeString, writeUint32, writeUint8, writeFloat64, writeUint16, writeBytes, writeInt16, writeFloat32, writeFixedPoint32, writeUnicodeStringWithPadding, writeColor, writeSignature, writeSection, writeInt32, } from './psdWriter';
|
|
3
|
+
import { PsdReader, readUnicodeString, readUint32, readUint16, readUint8, readFloat64, readBytes, skipBytes, readFloat32, readInt16, readFixedPoint32, readSignature, checkSignature, readSection, readColor, readInt32, readAsciiString } from './psdReader';
|
|
4
|
+
import { PsdWriter, writeUnicodeString, writeUint32, writeUint8, writeFloat64, writeUint16, writeBytes, writeInt16, writeFloat32, writeFixedPoint32, writeUnicodeStringWithPadding, writeColor, writeSignature, writeSection, writeInt32, writeAsciiString, } from './psdWriter';
|
|
5
5
|
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';
|
|
@@ -157,6 +157,17 @@ interface PrintInformationDescriptor {
|
|
|
157
157
|
};
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
+
MOCK_HANDLERS && addHandler(
|
|
161
|
+
1085, // Windows DEVMODE. Variable OS specific info for Windows.
|
|
162
|
+
target => (target as any)._ir1085 !== undefined,
|
|
163
|
+
(reader, target, left) => {
|
|
164
|
+
(target as any)._ir1085 = readBytes(reader, left());
|
|
165
|
+
},
|
|
166
|
+
(writer, target) => {
|
|
167
|
+
writeBytes(writer, (target as any)._ir1085);
|
|
168
|
+
}
|
|
169
|
+
);
|
|
170
|
+
|
|
160
171
|
addHandler(
|
|
161
172
|
1082,
|
|
162
173
|
target => target.printInformation !== undefined,
|
|
@@ -415,6 +426,28 @@ addHandler(
|
|
|
415
426
|
},
|
|
416
427
|
);
|
|
417
428
|
|
|
429
|
+
addHandler(
|
|
430
|
+
1034, // Copyright flag
|
|
431
|
+
target => target.copyrighted !== undefined,
|
|
432
|
+
(reader, target) => {
|
|
433
|
+
target.copyrighted = !!readUint8(reader);
|
|
434
|
+
},
|
|
435
|
+
(writer, target) => {
|
|
436
|
+
writeUint8(writer, target.copyrighted ? 1 : 0);
|
|
437
|
+
},
|
|
438
|
+
);
|
|
439
|
+
|
|
440
|
+
addHandler(
|
|
441
|
+
1035, // URL
|
|
442
|
+
target => target.url !== undefined,
|
|
443
|
+
(reader, target, left) => {
|
|
444
|
+
target.url = readAsciiString(reader, left());
|
|
445
|
+
},
|
|
446
|
+
(writer, target) => {
|
|
447
|
+
writeAsciiString(writer, target.url!);
|
|
448
|
+
},
|
|
449
|
+
);
|
|
450
|
+
|
|
418
451
|
MOCK_HANDLERS && addHandler(
|
|
419
452
|
10000, // Print flags
|
|
420
453
|
target => (target as any)._ir10000 !== undefined,
|
|
@@ -1244,13 +1277,13 @@ addHandler(
|
|
|
1244
1277
|
if (target.thumbnailRaw) {
|
|
1245
1278
|
width = target.thumbnailRaw.width;
|
|
1246
1279
|
height = target.thumbnailRaw.height;
|
|
1247
|
-
data = target.thumbnailRaw.data;
|
|
1280
|
+
data = target.thumbnailRaw.data as any;
|
|
1248
1281
|
} else {
|
|
1249
1282
|
try {
|
|
1250
1283
|
const dataUrl = target.thumbnail!.toDataURL('image/jpeg', 1)?.substring('data:image/jpeg;base64,'.length);
|
|
1251
1284
|
|
|
1252
1285
|
if (dataUrl) {
|
|
1253
|
-
data = toByteArray(dataUrl); // this sometimes fails for some reason, maybe some browser bugs
|
|
1286
|
+
data = toByteArray(dataUrl) as any; // this sometimes fails for some reason, maybe some browser bugs
|
|
1254
1287
|
width = target.thumbnail!.width;
|
|
1255
1288
|
height = target.thumbnail!.height;
|
|
1256
1289
|
}
|
package/src/index.ts
CHANGED
package/src/psd.ts
CHANGED
package/src/psdReader.ts
CHANGED
|
@@ -29,7 +29,7 @@ export interface PsdReader extends ReadOptions {
|
|
|
29
29
|
log(...args: any[]): void;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
export function createReader(buffer:
|
|
32
|
+
export function createReader(buffer: ArrayBufferLike, offset?: number, length?: number): PsdReader {
|
|
33
33
|
const view = new DataView(buffer, offset, length);
|
|
34
34
|
return { view, offset: 0, strict: false, debug: false, large: false, globalAlpha: false, log: console.log };
|
|
35
35
|
}
|
|
@@ -234,8 +234,6 @@ export function readPsd(reader: PsdReader, readOptions: ReadOptions = {}) {
|
|
|
234
234
|
reader.large = version === 2;
|
|
235
235
|
reader.globalAlpha = false;
|
|
236
236
|
|
|
237
|
-
const fixOffsets = [0, 1, -1, 2, -2, 3, -3, 4, -4];
|
|
238
|
-
|
|
239
237
|
// color mode data
|
|
240
238
|
readSection(reader, 1, left => {
|
|
241
239
|
if (!left()) return;
|
|
@@ -262,22 +260,7 @@ export function readPsd(reader: PsdReader, readOptions: ReadOptions = {}) {
|
|
|
262
260
|
|
|
263
261
|
readSection(reader, 1, left => {
|
|
264
262
|
while (left() > 0) {
|
|
265
|
-
|
|
266
|
-
let sig = '';
|
|
267
|
-
|
|
268
|
-
// attempt to fix broken document by realigning with the signature
|
|
269
|
-
for (const offset of fixOffsets) {
|
|
270
|
-
try {
|
|
271
|
-
reader.offset = sigOffset + offset;
|
|
272
|
-
sig = readSignature(reader);
|
|
273
|
-
} catch { }
|
|
274
|
-
if (isValidSignature(sig)) break;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
if (!isValidSignature(sig)) {
|
|
278
|
-
throw new Error(`Invalid signature: '${sig}' at 0x${(sigOffset).toString(16)}`);
|
|
279
|
-
}
|
|
280
|
-
|
|
263
|
+
realignWithSignature(reader, isValidSignature);
|
|
281
264
|
const id = readUint16(reader);
|
|
282
265
|
readPascalString(reader, 2); // name
|
|
283
266
|
|
|
@@ -685,9 +668,34 @@ export function readGlobalLayerMaskInfo(reader: PsdReader) {
|
|
|
685
668
|
});
|
|
686
669
|
}
|
|
687
670
|
|
|
671
|
+
const fixOffsets = [0, 1, -1, 2, -2, 3, -3, 4, -4];
|
|
672
|
+
|
|
673
|
+
function realignWithSignature(reader: PsdReader, isValid: (sig: string) => boolean) {
|
|
674
|
+
const sigOffset = reader.offset;
|
|
675
|
+
let sig = '';
|
|
676
|
+
|
|
677
|
+
// attempt to fix broken document by realigning with the signature
|
|
678
|
+
for (const offset of fixOffsets) {
|
|
679
|
+
try {
|
|
680
|
+
reader.offset = sigOffset + offset;
|
|
681
|
+
sig = readSignature(reader);
|
|
682
|
+
} catch { }
|
|
683
|
+
if (isValid(sig)) break;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
if (!isValid(sig)) {
|
|
687
|
+
throw new Error(`Invalid signature: '${sig}' at 0x${(sigOffset).toString(16)}`);
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
return sig;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
function isValidAdditionalInfoSignature(sig: string) {
|
|
694
|
+
return sig === '8BIM' || sig === '8B64';
|
|
695
|
+
}
|
|
696
|
+
|
|
688
697
|
export function readAdditionalLayerInfo(reader: PsdReader, target: LayerAdditionalInfo, psd: Psd, imageResources: InternalImageResources) {
|
|
689
|
-
const sig =
|
|
690
|
-
if (sig !== '8BIM' && sig !== '8B64') throw new Error(`Invalid signature: '${sig}' at 0x${(reader.offset - 4).toString(16)}`);
|
|
698
|
+
const sig = realignWithSignature(reader, isValidAdditionalInfoSignature);
|
|
691
699
|
const key = readSignature(reader);
|
|
692
700
|
|
|
693
701
|
// `largeAdditionalInfoKeys` fallback, because some keys don't have 8B64 signature even when they are 64bit
|
|
@@ -1110,7 +1118,9 @@ export function readSection<T>(
|
|
|
1110
1118
|
}
|
|
1111
1119
|
}
|
|
1112
1120
|
|
|
1113
|
-
while (
|
|
1121
|
+
while (length % round) { length++; end++; }
|
|
1122
|
+
// while (end % round) end++;
|
|
1123
|
+
|
|
1114
1124
|
reader.offset = end;
|
|
1115
1125
|
|
|
1116
1126
|
return result;
|
package/src/psdWriter.ts
CHANGED
|
@@ -103,6 +103,12 @@ export function writeSignature(writer: PsdWriter, signature: string) {
|
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
export function writeAsciiString(writer: PsdWriter, text: string) {
|
|
107
|
+
for (let i = 0; i < text.length; i++) {
|
|
108
|
+
writeUint8(writer, text.charCodeAt(i));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
106
112
|
export function writePascalString(writer: PsdWriter, text: string, padTo: number) {
|
|
107
113
|
let length = text.length;
|
|
108
114
|
if (length > 255) throw new Error(`String too long`);
|
|
@@ -174,12 +180,12 @@ export function writeSection(writer: PsdWriter, round: number, func: () => void,
|
|
|
174
180
|
let length = writer.offset - offset - 4;
|
|
175
181
|
let len = length;
|
|
176
182
|
|
|
177
|
-
while (
|
|
183
|
+
while (len % round) {
|
|
178
184
|
writeUint8(writer, 0);
|
|
179
185
|
len++;
|
|
180
186
|
}
|
|
181
187
|
|
|
182
|
-
// while (
|
|
188
|
+
// while (writer.offset % round) {
|
|
183
189
|
// writeUint8(writer, 0);
|
|
184
190
|
// len++;
|
|
185
191
|
// }
|
|
@@ -485,7 +491,7 @@ function writeAdditionalLayerInfo(writer: PsdWriter, target: LayerAdditionalInfo
|
|
|
485
491
|
const writeTotalLength = key !== 'Txt2' && key !== 'cinf' && key !== 'extn' && key !== 'CAI ' && key !== 'OCIO';
|
|
486
492
|
const fourBytes = key === 'Txt2' || key === 'luni' || key === 'vmsk' || key === 'artb' || key === 'artd' ||
|
|
487
493
|
key === 'vogk' || key === 'SoLd' || key === 'lnk2' || key === 'vscg' || key === 'vsms' || key === 'GdFl' ||
|
|
488
|
-
key === 'lmfx' || key === 'lrFX' || key === 'cinf' || key === 'PlLd' || key === 'Anno' || key === 'CAI ' || key === 'OCIO' || key === 'GenI' || key === 'FEid';
|
|
494
|
+
key === 'lmfx' || key === 'lrFX' || key === 'cinf' || key === 'PlLd' || key === 'Anno' || key === 'CAI ' || key === 'OCIO' || key === 'GenI' || key === 'FEid' || key === 'curv' || key === 'CgEd' || key === 'vibA' || key === 'blwh' || key === 'grdm';
|
|
489
495
|
|
|
490
496
|
writeSignature(writer, large ? '8B64' : '8BIM');
|
|
491
497
|
writeSignature(writer, key);
|
|
@@ -605,31 +611,32 @@ function getMaskChannels(tempBuffer: Uint8Array, layerData: LayerChannelData, la
|
|
|
605
611
|
imageData = mask.canvas.getContext('2d')!.getImageData(0, 0, width, height);
|
|
606
612
|
}
|
|
607
613
|
|
|
608
|
-
if (
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
if (imageData.width !== width || imageData.height !== height) {
|
|
613
|
-
throw new Error('Invalid imageData dimentions');
|
|
614
|
-
}
|
|
615
|
-
|
|
616
|
-
let buffer: Uint8Array;
|
|
617
|
-
let compression: Compression;
|
|
614
|
+
if (imageData && (imageData.width !== width || imageData.height !== height)) {
|
|
615
|
+
throw new Error('Invalid imageData dimentions');
|
|
616
|
+
}
|
|
618
617
|
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
compression = (layer as any)[realMask ? 'realMaskDataRawCompression' : 'maskDataRawCompression'];
|
|
622
|
-
} else if (options.compress) {
|
|
623
|
-
buffer = writeDataZipWithoutPrediction(imageData, [0]);
|
|
624
|
-
compression = Compression.ZipWithoutPrediction;
|
|
625
|
-
} else {
|
|
626
|
-
buffer = writeDataRLE(tempBuffer, imageData, [0], !!options.psb)!;
|
|
627
|
-
compression = Compression.RleCompressed;
|
|
628
|
-
}
|
|
618
|
+
right = left + width;
|
|
619
|
+
bottom = top + height;
|
|
629
620
|
|
|
630
|
-
|
|
621
|
+
let buffer: Uint8Array;
|
|
622
|
+
let compression: Compression;
|
|
623
|
+
|
|
624
|
+
if (RAW_IMAGE_DATA && (layer as any)[realMask ? 'realMaskDataRaw' : 'maskDataRaw']) {
|
|
625
|
+
buffer = (layer as any)[realMask ? 'realMaskDataRaw' : 'maskDataRaw'];
|
|
626
|
+
compression = (layer as any)[realMask ? 'realMaskDataRawCompression' : 'maskDataRawCompression'];
|
|
627
|
+
} else if (!imageData) {
|
|
628
|
+
buffer = new Uint8Array(0);
|
|
629
|
+
compression = Compression.RleCompressed;
|
|
630
|
+
} else if (options.compress) {
|
|
631
|
+
buffer = writeDataZipWithoutPrediction(imageData, [0]);
|
|
632
|
+
compression = Compression.ZipWithoutPrediction;
|
|
633
|
+
} else {
|
|
634
|
+
buffer = writeDataRLE(tempBuffer, imageData, [0], !!options.psb)!;
|
|
635
|
+
compression = Compression.RleCompressed;
|
|
631
636
|
}
|
|
632
637
|
|
|
638
|
+
layerData.channels.push({ channelId: realMask ? ChannelID.RealUserMask : ChannelID.UserMask, compression, buffer, length: 2 + buffer.length });
|
|
639
|
+
|
|
633
640
|
layerData[realMask ? 'realMask' : 'mask'] = { top, left, right, bottom };
|
|
634
641
|
}
|
|
635
642
|
|
|
@@ -641,7 +648,10 @@ function getChannels(tempBuffer: Uint8Array, layer: Layer, background: boolean,
|
|
|
641
648
|
}
|
|
642
649
|
|
|
643
650
|
function getLayerDimentions({ canvas, imageData }: Layer): { width: number; height: number; } {
|
|
644
|
-
|
|
651
|
+
// this way in case canvas/imageData are incorrect objects without width/height properties
|
|
652
|
+
const width = imageData?.width ?? canvas?.width ?? 0;
|
|
653
|
+
const height = imageData?.height ?? canvas?.height ?? 0;
|
|
654
|
+
return { width, height };
|
|
645
655
|
}
|
|
646
656
|
|
|
647
657
|
function cropImageData(data: PixelData, left: number, top: number, width: number, height: number) {
|