ag-psd 32.0.0 → 34.0.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/v24.7.0-x64-ef5a0af0/03e19709 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/05135617 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/1130885f +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/226e2801 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/2a19133e +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/4511bacf +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/68416cb2 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/71df9cb3 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/7ea06cea +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/87cf2209 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/932f0770 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/acc36e66 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/b3c2fab7 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/c0b789d2 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/c314aece +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/cfc49f4f +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/cff9434a +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/d13d7610 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/dc86f000 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/e03e2acd +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/e6745c2b +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/e6b99945 +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/eeeebdfe +0 -0
- package/.v8-cache/v24.7.0-x64-ef5a0af0/f6fd8125 +0 -0
- package/CHANGELOG.md +100 -0
- package/LICENSE +5 -0
- package/README.md +4 -7
- package/README_PSD.md +261 -84
- package/TODO.md +13 -84
- package/dist/abr.d.ts +11 -4
- package/dist/abr.js +362 -230
- package/dist/abr.js.map +1 -1
- package/dist/additionalInfo.d.ts +56 -2
- package/dist/additionalInfo.js +828 -361
- package/dist/additionalInfo.js.map +1 -1
- package/dist/ase.d.ts +6 -1
- package/dist/ase.js +61 -61
- package/dist/ase.js.map +1 -1
- package/dist/bundle.js +3321 -1364
- package/dist/descriptor.d.ts +28 -13
- package/dist/descriptor.js +295 -241
- package/dist/descriptor.js.map +1 -1
- package/dist/helpers.d.ts +7 -1
- package/dist/helpers.js +246 -4
- package/dist/helpers.js.map +1 -1
- package/dist/imageResources.d.ts +15 -3
- package/dist/imageResources.js +586 -144
- package/dist/imageResources.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/jpeg.js +8 -8
- package/dist/jpeg.js.map +1 -1
- package/dist/psd.d.ts +292 -19
- package/dist/psd.js.map +1 -1
- package/dist/psdReader.d.ts +10 -0
- package/dist/psdReader.js +424 -216
- package/dist/psdReader.js.map +1 -1
- package/dist/psdWriter.d.ts +2 -0
- package/dist/psdWriter.js +373 -113
- package/dist/psdWriter.js.map +1 -1
- package/dist/text.d.ts +32 -1
- package/dist/text.js +75 -6
- package/dist/text.js.map +1 -1
- package/dist/utf8.js +0 -3
- package/dist/utf8.js.map +1 -1
- package/dist-es/abr.d.ts +11 -4
- package/dist-es/abr.js +362 -230
- package/dist-es/abr.js.map +1 -1
- package/dist-es/additionalInfo.d.ts +56 -2
- package/dist-es/additionalInfo.js +828 -361
- package/dist-es/additionalInfo.js.map +1 -1
- package/dist-es/ase.d.ts +6 -1
- package/dist-es/ase.js +61 -61
- package/dist-es/ase.js.map +1 -1
- package/dist-es/descriptor.d.ts +28 -13
- package/dist-es/descriptor.js +295 -241
- package/dist-es/descriptor.js.map +1 -1
- package/dist-es/helpers.d.ts +7 -1
- package/dist-es/helpers.js +246 -4
- package/dist-es/helpers.js.map +1 -1
- package/dist-es/imageResources.d.ts +15 -3
- package/dist-es/imageResources.js +586 -144
- package/dist-es/imageResources.js.map +1 -1
- package/dist-es/index.d.ts +1 -0
- package/dist-es/index.js +1 -0
- package/dist-es/index.js.map +1 -1
- package/dist-es/jpeg.js +8 -8
- package/dist-es/jpeg.js.map +1 -1
- package/dist-es/psd.d.ts +292 -19
- package/dist-es/psd.js.map +1 -1
- package/dist-es/psdReader.d.ts +10 -0
- package/dist-es/psdReader.js +424 -216
- package/dist-es/psdReader.js.map +1 -1
- package/dist-es/psdWriter.d.ts +2 -0
- package/dist-es/psdWriter.js +373 -113
- package/dist-es/psdWriter.js.map +1 -1
- package/dist-es/text.d.ts +32 -1
- package/dist-es/text.js +75 -6
- package/dist-es/text.js.map +1 -1
- package/dist-es/utf8.js +0 -3
- package/dist-es/utf8.js.map +1 -1
- package/package.json +2 -2
- package/perf.js +312 -9
- package/src/abr.ts +382 -235
- package/src/additionalInfo.ts +1071 -482
- package/src/ase.ts +66 -61
- package/src/descriptor.ts +291 -242
- package/src/helpers.ts +266 -3
- package/src/imageResources.ts +736 -169
- package/src/index.ts +1 -0
- package/src/jpeg.ts +8 -8
- package/src/psd.ts +271 -32
- package/src/psdReader.ts +440 -221
- package/src/psdWriter.ts +402 -110
- package/src/text.ts +93 -7
- package/src/utf8.ts +0 -4
package/dist-es/helpers.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createImageData = exports.createCanvas = exports.MaskParams = exports.LayerMaskFlags = exports.ColorSpace = exports.largeAdditionalInfoKeys = exports.
|
|
3
|
+
exports.createImageData = exports.createCanvas = exports.MaskParams = exports.LayerMaskFlags = exports.ColorSpace = exports.largeAdditionalInfoKeys = exports.largeAdditionalInfoKeysObserved = exports.layerColors = exports.toBlendMode = exports.fromBlendMode = exports.MOCK_HANDLERS = void 0;
|
|
4
4
|
exports.revMap = revMap;
|
|
5
5
|
exports.createEnum = createEnum;
|
|
6
6
|
exports.offsetForChannel = offsetForChannel;
|
|
@@ -8,18 +8,22 @@ exports.normalizeLabAB = normalizeLabAB;
|
|
|
8
8
|
exports.denormalizeLabAB = denormalizeLabAB;
|
|
9
9
|
exports.clamp = clamp;
|
|
10
10
|
exports.hasAlpha = hasAlpha;
|
|
11
|
+
exports.cmykToRgbValues = cmykToRgbValues;
|
|
12
|
+
exports.rgbToCmykValues = rgbToCmykValues;
|
|
11
13
|
exports.resetImageData = resetImageData;
|
|
12
14
|
exports.imageDataToCanvas = imageDataToCanvas;
|
|
13
15
|
exports.decodeBitmap = decodeBitmap;
|
|
14
16
|
exports.writeDataRaw = writeDataRaw;
|
|
15
17
|
exports.writeDataRLE = writeDataRLE;
|
|
18
|
+
exports.planarToBytes = planarToBytes;
|
|
19
|
+
exports.writeDataRLEBytes = writeDataRLEBytes;
|
|
20
|
+
exports.writeDataZipWithPrediction = writeDataZipWithPrediction;
|
|
16
21
|
exports.writeDataZipWithoutPrediction = writeDataZipWithoutPrediction;
|
|
17
22
|
exports.createCanvasFromData = createCanvasFromData;
|
|
18
23
|
exports.initializeCanvas = initializeCanvas;
|
|
19
24
|
const pako_1 = require("pako");
|
|
20
25
|
const jpeg_1 = require("./jpeg");
|
|
21
26
|
exports.MOCK_HANDLERS = false;
|
|
22
|
-
exports.RAW_IMAGE_DATA = false;
|
|
23
27
|
exports.fromBlendMode = {};
|
|
24
28
|
exports.toBlendMode = {
|
|
25
29
|
'pass': 'pass through',
|
|
@@ -53,13 +57,16 @@ exports.toBlendMode = {
|
|
|
53
57
|
};
|
|
54
58
|
Object.keys(exports.toBlendMode).forEach(key => exports.fromBlendMode[exports.toBlendMode[key]] = key);
|
|
55
59
|
exports.layerColors = [
|
|
56
|
-
'none', 'red', 'orange', 'yellow', 'green', 'blue', 'violet', 'gray'
|
|
60
|
+
'none', 'red', 'orange', 'yellow', 'green', 'blue', 'violet', 'gray', 'seafoam', 'indigo', 'magenta', 'fuchsia',
|
|
57
61
|
];
|
|
62
|
+
// keys not listed in documentation that Photoshop writes with 64bit length in PSB files (with 8B64 signature)
|
|
63
|
+
exports.largeAdditionalInfoKeysObserved = ['lnk3', 'lnkE', 'pths', 'extd', 'extn', 'FELS', 'artd'];
|
|
58
64
|
exports.largeAdditionalInfoKeys = [
|
|
59
65
|
// from documentation
|
|
60
66
|
'LMsk', 'Lr16', 'Lr32', 'Layr', 'Mt16', 'Mt32', 'Mtrn', 'Alph', 'FMsk', 'lnk2', 'FEid', 'FXid', 'PxSD',
|
|
61
67
|
// from guessing
|
|
62
68
|
'cinf',
|
|
69
|
+
...exports.largeAdditionalInfoKeysObserved,
|
|
63
70
|
];
|
|
64
71
|
function revMap(map) {
|
|
65
72
|
const result = {};
|
|
@@ -137,13 +144,152 @@ function clamp(value, min, max) {
|
|
|
137
144
|
}
|
|
138
145
|
function hasAlpha(data) {
|
|
139
146
|
const size = data.width * data.height * 4;
|
|
147
|
+
const max = data.data instanceof Float32Array ? 1 : (data.data instanceof Uint16Array ? 0xffff : 0xff);
|
|
140
148
|
for (let i = 3; i < size; i += 4) {
|
|
141
|
-
if (data.data[i] !==
|
|
149
|
+
if (data.data[i] !== max) {
|
|
142
150
|
return true;
|
|
143
151
|
}
|
|
144
152
|
}
|
|
145
153
|
return false;
|
|
146
154
|
}
|
|
155
|
+
// Polynomial approximation of U.S. Web Coated (SWOP) v2 CMYK to RGB conversion (default CMYK profile of Photoshop).
|
|
156
|
+
// Coefficients are taken from pdf.js (DeviceCmykCS in src/core/colorspace.js, https://github.com/mozilla/pdf.js),
|
|
157
|
+
// Copyright 2012 Mozilla Foundation, licensed under the Apache License, Version 2.0
|
|
158
|
+
// (http://www.apache.org/licenses/LICENSE-2.0)
|
|
159
|
+
// c, m, y, k - ink values (0 - 1), output - RGB values (0 - 255, not rounded or clamped)
|
|
160
|
+
function cmykToRgbValues(c, m, y, k, out) {
|
|
161
|
+
out[0] = 255 +
|
|
162
|
+
c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k - 285.2331026137004) +
|
|
163
|
+
m * (1.7149763477362134 * m - 5.6096736904047315 * y - 17.873870861415444 * k - 5.497006427196366) +
|
|
164
|
+
y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) +
|
|
165
|
+
k * (-21.86122147463605 * k - 189.48180835922747);
|
|
166
|
+
out[1] = 255 +
|
|
167
|
+
c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k - 79.2970844816548) +
|
|
168
|
+
m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) +
|
|
169
|
+
y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) +
|
|
170
|
+
k * (-20.737325471181034 * k - 187.80453709719578);
|
|
171
|
+
out[2] = 255 +
|
|
172
|
+
c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k - 14.183576799673286) +
|
|
173
|
+
m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) +
|
|
174
|
+
y * (0.03296041114873217 * y + 115.60384449646641 * k - 193.58209356861505) +
|
|
175
|
+
k * (-22.33816807309886 * k - 180.12613974708367);
|
|
176
|
+
}
|
|
177
|
+
const clamp01 = (v) => v < 0 ? 0 : (v > 1 ? 1 : v);
|
|
178
|
+
// finds c, m, y (with fixed k) for given RGB color using Gauss-Newton method, returns squared error
|
|
179
|
+
function solveCmy(r, g, b, k, x) {
|
|
180
|
+
const f = [0, 0, 0], f2 = [0, 0, 0], e = [0, 0, 0];
|
|
181
|
+
const J = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
|
|
182
|
+
const h = 1e-4;
|
|
183
|
+
for (let iteration = 0; iteration < 20; iteration++) {
|
|
184
|
+
cmykToRgbValues(x[0], x[1], x[2], k, f);
|
|
185
|
+
e[0] = f[0] - r;
|
|
186
|
+
e[1] = f[1] - g;
|
|
187
|
+
e[2] = f[2] - b;
|
|
188
|
+
if ((e[0] * e[0] + e[1] * e[1] + e[2] * e[2]) < 1e-6)
|
|
189
|
+
break;
|
|
190
|
+
for (let j = 0; j < 3; j++) {
|
|
191
|
+
const s = x[j];
|
|
192
|
+
x[j] = s + h;
|
|
193
|
+
cmykToRgbValues(x[0], x[1], x[2], k, f2);
|
|
194
|
+
x[j] = s;
|
|
195
|
+
for (let i = 0; i < 3; i++)
|
|
196
|
+
J[i][j] = (f2[i] - f[i]) / h;
|
|
197
|
+
}
|
|
198
|
+
const [[a, b_, c], [d, e_, f_], [g_, h_, i_]] = J;
|
|
199
|
+
const det = a * (e_ * i_ - f_ * h_) - b_ * (d * i_ - f_ * g_) + c * (d * h_ - e_ * g_);
|
|
200
|
+
if (Math.abs(det) < 1e-12)
|
|
201
|
+
break;
|
|
202
|
+
const inverse = [
|
|
203
|
+
[(e_ * i_ - f_ * h_), (c * h_ - b_ * i_), (b_ * f_ - c * e_)],
|
|
204
|
+
[(f_ * g_ - d * i_), (a * i_ - c * g_), (c * d - a * f_)],
|
|
205
|
+
[(d * h_ - e_ * g_), (b_ * g_ - a * h_), (a * e_ - b_ * d)],
|
|
206
|
+
];
|
|
207
|
+
let changed = 0;
|
|
208
|
+
for (let j = 0; j < 3; j++) {
|
|
209
|
+
const delta = -(inverse[j][0] * e[0] + inverse[j][1] * e[1] + inverse[j][2] * e[2]) / det;
|
|
210
|
+
const value = clamp01(x[j] + delta);
|
|
211
|
+
changed += Math.abs(value - x[j]);
|
|
212
|
+
x[j] = value;
|
|
213
|
+
}
|
|
214
|
+
if (changed < 1e-9)
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
cmykToRgbValues(x[0], x[1], x[2], k, f);
|
|
218
|
+
return (f[0] - r) * (f[0] - r) + (f[1] - g) * (f[1] - g) + (f[2] - b) * (f[2] - b);
|
|
219
|
+
}
|
|
220
|
+
// finds CMYK ink values (0 - 1) for RGB color (0 - 255), out of gamut colors are approximated
|
|
221
|
+
function rgbToCmykExact(r, g, b, out) {
|
|
222
|
+
const max = Math.max(r, g, b) / 255;
|
|
223
|
+
const blackGeneration = Math.pow(clamp01((1 - max - 0.2) / 0.8), 1.3);
|
|
224
|
+
const x = [0, 0, 0];
|
|
225
|
+
let bestScore = Infinity, bestError = Infinity;
|
|
226
|
+
const tryBlack = (k) => {
|
|
227
|
+
x[0] = clamp01(1 - r / 255 - k);
|
|
228
|
+
x[1] = clamp01(1 - g / 255 - k);
|
|
229
|
+
x[2] = clamp01(1 - b / 255 - k);
|
|
230
|
+
const error = solveCmy(r, g, b, k, x);
|
|
231
|
+
// prefer solutions close to black generation value if the error is small enough
|
|
232
|
+
const score = Math.max(error, 0.1) + Math.abs(k - blackGeneration) * 0.01;
|
|
233
|
+
if (score < bestScore) {
|
|
234
|
+
bestScore = score;
|
|
235
|
+
bestError = error;
|
|
236
|
+
out[0] = x[0];
|
|
237
|
+
out[1] = x[1];
|
|
238
|
+
out[2] = x[2];
|
|
239
|
+
out[3] = k;
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
tryBlack(blackGeneration);
|
|
243
|
+
if (bestError > 0.1) {
|
|
244
|
+
for (let i = 0; i <= 10; i++)
|
|
245
|
+
tryBlack(i / 10);
|
|
246
|
+
}
|
|
247
|
+
if (bestError > 0.1) {
|
|
248
|
+
const k = out[3];
|
|
249
|
+
for (let i = -5; i <= 5; i++)
|
|
250
|
+
tryBlack(clamp01(k + i / 100));
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
const cmykLutSize = 33;
|
|
254
|
+
let cmykLut;
|
|
255
|
+
function getCmykLut() {
|
|
256
|
+
if (!cmykLut) {
|
|
257
|
+
const n = cmykLutSize;
|
|
258
|
+
const lut = new Float32Array(n * n * n * 4);
|
|
259
|
+
const out = [0, 0, 0, 0];
|
|
260
|
+
for (let r = 0, o = 0; r < n; r++) {
|
|
261
|
+
for (let g = 0; g < n; g++) {
|
|
262
|
+
for (let b = 0; b < n; b++, o += 4) {
|
|
263
|
+
rgbToCmykExact(r * 255 / (n - 1), g * 255 / (n - 1), b * 255 / (n - 1), out);
|
|
264
|
+
lut[o] = out[0];
|
|
265
|
+
lut[o + 1] = out[1];
|
|
266
|
+
lut[o + 2] = out[2];
|
|
267
|
+
lut[o + 3] = out[3];
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
cmykLut = lut;
|
|
272
|
+
}
|
|
273
|
+
return cmykLut;
|
|
274
|
+
}
|
|
275
|
+
// inverse of cmykToRgbValues, r, g, b - RGB values (0 - 1), output - CMYK ink values (0 - 1)
|
|
276
|
+
function rgbToCmykValues(r, g, b, out) {
|
|
277
|
+
const lut = getCmykLut();
|
|
278
|
+
const n1 = cmykLutSize - 1;
|
|
279
|
+
const fr = clamp01(r) * n1, fg = clamp01(g) * n1, fb = clamp01(b) * n1;
|
|
280
|
+
const r0 = Math.min(n1 - 1, Math.floor(fr)), g0 = Math.min(n1 - 1, Math.floor(fg)), b0 = Math.min(n1 - 1, Math.floor(fb));
|
|
281
|
+
const dr = fr - r0, dg = fg - g0, db = fb - b0;
|
|
282
|
+
out[0] = out[1] = out[2] = out[3] = 0;
|
|
283
|
+
for (let i = 0; i < 8; i++) {
|
|
284
|
+
const ir = i >> 2, ig = (i >> 1) & 1, ib = i & 1;
|
|
285
|
+
const w = (ir ? dr : 1 - dr) * (ig ? dg : 1 - dg) * (ib ? db : 1 - db);
|
|
286
|
+
const o = (((r0 + ir) * cmykLutSize + g0 + ig) * cmykLutSize + b0 + ib) * 4;
|
|
287
|
+
out[0] += w * lut[o];
|
|
288
|
+
out[1] += w * lut[o + 1];
|
|
289
|
+
out[2] += w * lut[o + 2];
|
|
290
|
+
out[3] += w * lut[o + 3];
|
|
291
|
+
}
|
|
292
|
+
}
|
|
147
293
|
function resetImageData({ data }) {
|
|
148
294
|
const alpha = (data instanceof Float32Array) ? 1.0 : ((data instanceof Uint16Array) ? 0xffff : 0xff);
|
|
149
295
|
for (let p = 0, size = data.length | 0; p < size; p = (p + 4) | 0) {
|
|
@@ -302,6 +448,102 @@ function writeDataRLE(buffer, { data, width, height }, offsets, large) {
|
|
|
302
448
|
// returns view of the buffer, copy the data if the buffer is going to be reused
|
|
303
449
|
return buffer.subarray(0, o);
|
|
304
450
|
}
|
|
451
|
+
// converts channel values to big-endian bytes
|
|
452
|
+
function planarToBytes(values) {
|
|
453
|
+
if (values instanceof Uint8Array)
|
|
454
|
+
return values;
|
|
455
|
+
const bytes = new Uint8Array(values.byteLength);
|
|
456
|
+
const view = new DataView(bytes.buffer);
|
|
457
|
+
if (values instanceof Uint16Array) {
|
|
458
|
+
for (let i = 0; i < values.length; i++)
|
|
459
|
+
view.setUint16(i * 2, values[i], false);
|
|
460
|
+
}
|
|
461
|
+
else {
|
|
462
|
+
for (let i = 0; i < values.length; i++)
|
|
463
|
+
view.setFloat32(i * 4, values[i], false);
|
|
464
|
+
}
|
|
465
|
+
return bytes;
|
|
466
|
+
}
|
|
467
|
+
// RLE (PackBits) compression of rows of bytes, prefixed with byte counts of each row
|
|
468
|
+
function writeDataRLEBytes(bytes, rowBytes, height, large) {
|
|
469
|
+
const countSize = large ? 4 : 2;
|
|
470
|
+
const buffer = new Uint8Array(height * (countSize + rowBytes + Math.ceil(rowBytes / 128)));
|
|
471
|
+
let o = countSize * height;
|
|
472
|
+
for (let y = 0; y < height; y++) {
|
|
473
|
+
const start = o;
|
|
474
|
+
const rowStart = y * rowBytes;
|
|
475
|
+
const rowEnd = rowStart + rowBytes;
|
|
476
|
+
let i = rowStart;
|
|
477
|
+
while (i < rowEnd) {
|
|
478
|
+
let run = 1;
|
|
479
|
+
while (i + run < rowEnd && run < 128 && bytes[i + run] === bytes[i])
|
|
480
|
+
run++;
|
|
481
|
+
if (run > 1) {
|
|
482
|
+
buffer[o++] = 257 - run;
|
|
483
|
+
buffer[o++] = bytes[i];
|
|
484
|
+
i += run;
|
|
485
|
+
}
|
|
486
|
+
else {
|
|
487
|
+
// literal bytes until a run of at least 3 equal bytes
|
|
488
|
+
const countIndex = o++;
|
|
489
|
+
let count = 0;
|
|
490
|
+
while (i < rowEnd && count < 128) {
|
|
491
|
+
if (i + 2 < rowEnd && bytes[i] === bytes[i + 1] && bytes[i] === bytes[i + 2])
|
|
492
|
+
break;
|
|
493
|
+
buffer[o++] = bytes[i++];
|
|
494
|
+
count++;
|
|
495
|
+
}
|
|
496
|
+
buffer[countIndex] = count - 1;
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
const length = o - start;
|
|
500
|
+
for (let j = 0; j < countSize; j++) {
|
|
501
|
+
buffer[y * countSize + j] = (length >>> ((countSize - j - 1) * 8)) & 0xff;
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
return buffer.subarray(0, o);
|
|
505
|
+
}
|
|
506
|
+
// zip compression with prediction (values are delta encoded per row, 32bit values are split into byte planes first)
|
|
507
|
+
function writeDataZipWithPrediction(values, width, height) {
|
|
508
|
+
let bytes;
|
|
509
|
+
if (values instanceof Uint8Array) {
|
|
510
|
+
bytes = new Uint8Array(width * height);
|
|
511
|
+
for (let y = 0, i = 0; y < height; y++) {
|
|
512
|
+
for (let x = 0, prev = 0; x < width; x++, i++) {
|
|
513
|
+
bytes[i] = values[i] - prev; // Uint8Array wraps values on assignment
|
|
514
|
+
prev = values[i];
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
else if (values instanceof Uint16Array) {
|
|
519
|
+
bytes = new Uint8Array(width * height * 2);
|
|
520
|
+
for (let y = 0, i = 0; y < height; y++) {
|
|
521
|
+
for (let x = 0, prev = 0; x < width; x++, i++) {
|
|
522
|
+
const delta = (values[i] - prev) & 0xffff;
|
|
523
|
+
bytes[i * 2] = delta >> 8;
|
|
524
|
+
bytes[i * 2 + 1] = delta & 0xff;
|
|
525
|
+
prev = values[i];
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
else {
|
|
530
|
+
const rowBytes = width * 4;
|
|
531
|
+
const source = planarToBytes(values);
|
|
532
|
+
bytes = new Uint8Array(rowBytes * height);
|
|
533
|
+
for (let y = 0; y < height; y++) {
|
|
534
|
+
const row = y * rowBytes;
|
|
535
|
+
for (let x = 0; x < width; x++) {
|
|
536
|
+
for (let b = 0; b < 4; b++) {
|
|
537
|
+
bytes[row + b * width + x] = source[row + x * 4 + b];
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
for (let x = rowBytes - 1; x > 0; x--) {
|
|
541
|
+
bytes[row + x] -= bytes[row + x - 1];
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
return (0, pako_1.deflate)(bytes);
|
|
546
|
+
}
|
|
305
547
|
function writeDataZipWithoutPrediction({ data, width, height }, offsets) {
|
|
306
548
|
const size = width * height;
|
|
307
549
|
const channel = new Uint8Array(size);
|
package/dist-es/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"../src/","sources":["helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"../src/","sources":["helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,27 @@
|
|
|
1
|
-
import { ImageResources } from './psd';
|
|
1
|
+
import { ImageResources, KeyDescriptorItem } from './psd';
|
|
2
2
|
import { PsdReader } from './psdReader';
|
|
3
3
|
import { PsdWriter } from './psdWriter';
|
|
4
4
|
export interface InternalImageResources extends ImageResources {
|
|
5
5
|
layersGroup?: number[];
|
|
6
6
|
layerGroupsEnabledId?: number[];
|
|
7
|
+
savedPathsOrigination?: KeyDescriptorItem[][];
|
|
8
|
+
}
|
|
9
|
+
export interface ResourceDocumentInfo {
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
}
|
|
13
|
+
export interface ResourceInfo extends ResourceDocumentInfo {
|
|
14
|
+
signature: string;
|
|
15
|
+
id: number;
|
|
16
|
+
name: Uint8Array;
|
|
7
17
|
}
|
|
8
18
|
export interface ResourceHandler {
|
|
9
19
|
key: number;
|
|
20
|
+
keyCount: number;
|
|
10
21
|
has: (target: InternalImageResources) => boolean | number;
|
|
11
|
-
read: (reader: PsdReader, target: InternalImageResources, left: () => number) => void;
|
|
12
|
-
write: (writer: PsdWriter, target: InternalImageResources, index: number) => void;
|
|
22
|
+
read: (reader: PsdReader, target: InternalImageResources, left: () => number, info: ResourceInfo) => void;
|
|
23
|
+
write: (writer: PsdWriter, target: InternalImageResources, index: number, document: ResourceDocumentInfo) => void;
|
|
24
|
+
name?: (target: InternalImageResources, index: number) => string;
|
|
13
25
|
}
|
|
14
26
|
export declare const resourceHandlers: ResourceHandler[];
|
|
15
27
|
export declare const resourceHandlersMap: {
|