ag-psd 33.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.
Files changed (86) hide show
  1. package/.v8-cache/v24.7.0-x64-ef5a0af0/05135617 +0 -0
  2. package/.v8-cache/v24.7.0-x64-ef5a0af0/226e2801 +0 -0
  3. package/.v8-cache/v24.7.0-x64-ef5a0af0/4511bacf +0 -0
  4. package/.v8-cache/v24.7.0-x64-ef5a0af0/68416cb2 +0 -0
  5. package/.v8-cache/v24.7.0-x64-ef5a0af0/71df9cb3 +0 -0
  6. package/.v8-cache/v24.7.0-x64-ef5a0af0/7ea06cea +0 -0
  7. package/.v8-cache/v24.7.0-x64-ef5a0af0/87cf2209 +0 -0
  8. package/.v8-cache/v24.7.0-x64-ef5a0af0/932f0770 +0 -0
  9. package/.v8-cache/v24.7.0-x64-ef5a0af0/acc36e66 +0 -0
  10. package/.v8-cache/v24.7.0-x64-ef5a0af0/b3c2fab7 +0 -0
  11. package/.v8-cache/v24.7.0-x64-ef5a0af0/c0b789d2 +0 -0
  12. package/.v8-cache/v24.7.0-x64-ef5a0af0/c314aece +0 -0
  13. package/.v8-cache/v24.7.0-x64-ef5a0af0/cfc49f4f +0 -0
  14. package/.v8-cache/v24.7.0-x64-ef5a0af0/d13d7610 +0 -0
  15. package/.v8-cache/v24.7.0-x64-ef5a0af0/dc86f000 +0 -0
  16. package/.v8-cache/v24.7.0-x64-ef5a0af0/e03e2acd +0 -0
  17. package/.v8-cache/v24.7.0-x64-ef5a0af0/e6b99945 +0 -0
  18. package/CHANGELOG.md +22 -0
  19. package/README.md +1 -1
  20. package/README_PSD.md +25 -9
  21. package/TODO.md +13 -84
  22. package/dist/abr.js +12 -7
  23. package/dist/abr.js.map +1 -1
  24. package/dist/additionalInfo.d.ts +2 -0
  25. package/dist/additionalInfo.js +361 -75
  26. package/dist/additionalInfo.js.map +1 -1
  27. package/dist/bundle.js +1524 -389
  28. package/dist/descriptor.d.ts +14 -5
  29. package/dist/descriptor.js +102 -64
  30. package/dist/descriptor.js.map +1 -1
  31. package/dist/helpers.d.ts +6 -0
  32. package/dist/helpers.js +242 -2
  33. package/dist/helpers.js.map +1 -1
  34. package/dist/imageResources.js +84 -3
  35. package/dist/imageResources.js.map +1 -1
  36. package/dist/index.d.ts +1 -0
  37. package/dist/index.js +1 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/psd.d.ts +144 -2
  40. package/dist/psd.js.map +1 -1
  41. package/dist/psdReader.js +206 -110
  42. package/dist/psdReader.js.map +1 -1
  43. package/dist/psdWriter.d.ts +1 -0
  44. package/dist/psdWriter.js +336 -91
  45. package/dist/psdWriter.js.map +1 -1
  46. package/dist/text.d.ts +32 -1
  47. package/dist/text.js +58 -0
  48. package/dist/text.js.map +1 -1
  49. package/dist-es/abr.js +12 -7
  50. package/dist-es/abr.js.map +1 -1
  51. package/dist-es/additionalInfo.d.ts +2 -0
  52. package/dist-es/additionalInfo.js +361 -75
  53. package/dist-es/additionalInfo.js.map +1 -1
  54. package/dist-es/descriptor.d.ts +14 -5
  55. package/dist-es/descriptor.js +102 -64
  56. package/dist-es/descriptor.js.map +1 -1
  57. package/dist-es/helpers.d.ts +6 -0
  58. package/dist-es/helpers.js +242 -2
  59. package/dist-es/helpers.js.map +1 -1
  60. package/dist-es/imageResources.js +84 -3
  61. package/dist-es/imageResources.js.map +1 -1
  62. package/dist-es/index.d.ts +1 -0
  63. package/dist-es/index.js +1 -0
  64. package/dist-es/index.js.map +1 -1
  65. package/dist-es/psd.d.ts +144 -2
  66. package/dist-es/psd.js.map +1 -1
  67. package/dist-es/psdReader.js +206 -110
  68. package/dist-es/psdReader.js.map +1 -1
  69. package/dist-es/psdWriter.d.ts +1 -0
  70. package/dist-es/psdWriter.js +336 -91
  71. package/dist-es/psdWriter.js.map +1 -1
  72. package/dist-es/text.d.ts +32 -1
  73. package/dist-es/text.js +58 -0
  74. package/dist-es/text.js.map +1 -1
  75. package/package.json +1 -1
  76. package/perf.js +312 -9
  77. package/src/abr.ts +14 -7
  78. package/src/additionalInfo.ts +433 -87
  79. package/src/descriptor.ts +103 -58
  80. package/src/helpers.ts +262 -2
  81. package/src/imageResources.ts +107 -4
  82. package/src/index.ts +1 -0
  83. package/src/psd.ts +115 -2
  84. package/src/psdReader.ts +226 -108
  85. package/src/psdWriter.ts +345 -90
  86. package/src/text.ts +76 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## v34.0.0
4
+ - **BREAKING CHANGE:** Documents are now written in their `colorMode` and `bitsPerChannel` ("Bitmap", "Grayscale", "Indexed", "RGB" and "CMYK" color modes, 16 and 32 bits per channel for "RGB" and "Grayscale" and 16 bits for "CMYK"), previously documents were always written as 8 bit RGB documents (set `colorMode` to `ColorMode.RGB` and `bitsPerChannel` to `8` before writing to keep the previous behavior). Image data is converted from RGB data to the color mode and bit depth of the document, 16 and 32 bit layers are written in `Lr16` / `Lr32` sections using zip compression with prediction, 32 bit documents include HDR toning settings required by Photoshop
5
+ - **BREAKING CHANGE:** Book (Pantone) colors in descriptors are now read with their color values (previously they were read as black) and `book` field with name of the color book and the color
6
+ - Added `values` field to curves adjustment (curves drawn with pencil tool), previously they were read as curve points, curves are also read from extra curves section that includes channels outside of channel mask
7
+ - Added `seafoam`, `indigo`, `magenta` and `fuchsia` layer colors (previously read as `undefined` and written as `none`)
8
+ - Added `vectorMaskAsGlobalMask`, `foreignEffectId`, `framedGroup`, `animationEffects`, `patternData` and `pixelSourceData` layer fields
9
+ - Added Camera Raw smart filter (`camera raw` filter type)
10
+ - Added `quickMaskInfo`, `measurementScale`, `duotoneHalftoneScreens`, `duotoneTransferFunctions`, `duotoneImageInformation` and `alternateDuotoneColors` image resources
11
+ - Added reading of Photoshop CS3 color samplers resource (`depth` field of `colorSamplers`), previously color samplers of newer documents were lost
12
+ - Added reading of Photoshop 5 text layers (`tySh`) as `text` layer data
13
+ - Added reading of old hue/saturation (`hue `), placed layer (`plLd`), filter effects (`FELS`) and artboard (`abdd`) keys and layer generator settings from `extd` section
14
+ - Added `readAse` export to main module
15
+ - Fixed reading levels adjustment written by Clip Studio Paint
16
+ - Fixed reading layer channel with invalid length of 1 throwing an error
17
+ - Fixed corrupted image data of a single layer preventing reading of the whole file (layer is read without image data, unless `throwForMissingFeatures` option is set)
18
+ - Fixed writing files with group layers containing image data (from broken files) throwing an error
19
+ - Fixed reading out of range global layer mask opacity
20
+ - Fixed writing inverted bounds of empty layers
21
+ - Fixed reading 16 bit brush samples in ABR files with half opacity (Photoshop uses 0-32768 range for 16 bit values)
22
+ - Fixed large patterns allocating image data before checking memory limit (patterns exceeding the limit are now skipped without allocating memory)
23
+ - Fixed reading performance regression from v32, RLE compressed image data, patterns and strings are decoded faster
24
+
3
25
  ## v33.0.0
4
26
  - **BREAKING CHANGE:** CMYK colors stored in binary color structures (legacy `lrFX` effects, background color, filter mask, etc.) are now inverted on read and write (Photoshop stores 0 as 100% ink), matching CMYK colors read from descriptors
5
27
  - **BREAKING CHANGE:** Text layers with "Windows" and "Windows LCD" anti-aliasing now read as `platform` and `platformLCD` instead of `smooth`, and writing them no longer produces `sharp` anti-aliasing
package/README.md CHANGED
@@ -10,7 +10,7 @@ Implemented according to [official documentation](https://www.adobe.com/devnet-a
10
10
  ## Limitations
11
11
 
12
12
  * Does not support reading Multichannel, Duotone and LAB color modes (image data of all supported color modes - Bitmap, Grayscale, Indexed, RGB and CMYK - is converted to RGB when reading, CMYK colors are converted using approximation of U.S. Web Coated (SWOP) v2 profile, embedded color profile is not used)
13
- * Does not support writing any color modes other than RGB
13
+ * Does not support writing Multichannel, Duotone and LAB color modes (Bitmap, Grayscale, Indexed, RGB and CMYK documents are written in their color mode and bit depth, image data is converted from RGB)
14
14
  * Does not support writing 16 or 32 bits per channel (reading is supported)
15
15
  * Limited pattern support: reads and writes document-level pattern blocks (`Patt`/`Pat2`/`Pat3`) for raw/RLE-compressed RGB/Grayscale patterns and raw Indexed patterns (patterns are always written as RGB). Does not support zip-compressed patterns (used by most real Photoshop files), RLE-compressed Indexed patterns or 16-bit patterns. Pattern references in layer effects and vector fills (such as "Pattern Overlay") only carry pattern name/id and are not linked to pattern data
16
16
  * Does not support some metadata fields
package/README_PSD.md CHANGED
@@ -25,7 +25,7 @@ const psd: Psd = {
25
25
 
26
26
  - `channels` property specifies number of color channels in the document, it's usually 3 channels (red, green, and blue, when document is in typical RGB color mode) Other color modes will have different channel count (grayscale - 1 channel, CMYK - 4 channels). This property can be omitted and is ignored when writing, this library only writes RGB color mode (3 channels, or 4 channels if composite image has transparency).
27
27
 
28
- - `bitsPerChannel` property specifies number of bits per each color channel, this value will be 1 for one bit bitmap color mode and 8, 16 or 32 in other cases. 16 and 32 bit documents can be read, but writing is only supported for 8 bits per channel (see [Bitmaps and image data](#bitmaps-and-image-data)). It can be omitted when writing a document and default value of 8 will be assumed.
28
+ - `bitsPerChannel` property specifies number of bits per each color channel, this value will be 1 for one bit bitmap color mode and 8, 16 or 32 in other cases (see [Bitmaps and image data](#bitmaps-and-image-data)). Documents are written with the same bit depth, 16 and 32 bits are supported for "RGB" and "Grayscale" color modes and 16 bits for "CMYK" color mode. It can be omitted when writing a document and default value of 8 will be assumed (1 for "Bitmap" color mode).
29
29
 
30
30
  - `colorMode` specifies color mode of the PSD document.
31
31
 
@@ -45,7 +45,7 @@ const psd: Psd = {
45
45
  Lab = 9,
46
46
  }
47
47
  ```
48
- The library supports reading "Bitmap", "Grayscale", "Indexed", "RGB" and "CMYK" color modes at the moment. Image data of "Bitmap", "Grayscale", "Indexed" and "CMYK" documents will be converted to RGB when reading PSD file (the `colorMode` field keeps the original value). CMYK image data is converted using approximation of U.S. Web Coated (SWOP) v2 profile (Photoshop's default CMYK profile), embedded color profile (`imageResources.iccProfile`) is not used, so colors of documents using other profiles can differ slightly from Photoshop. 32 bit CMYK documents are not supported. Writing is only supported for "RGB" mode. The value is ignored when writing and "RGB" color mode is always used.
48
+ The library supports reading "Bitmap", "Grayscale", "Indexed", "RGB" and "CMYK" color modes at the moment. Image data of "Bitmap", "Grayscale", "Indexed" and "CMYK" documents will be converted to RGB when reading PSD file (the `colorMode` field keeps the original value). CMYK image data is converted using approximation of U.S. Web Coated (SWOP) v2 profile (Photoshop's default CMYK profile), embedded color profile (`imageResources.iccProfile`) is not used, so colors of documents using other profiles can differ slightly from Photoshop. 32 bit CMYK documents are not supported. Documents are written in the same color mode ("Bitmap", "Grayscale", "Indexed", "RGB" and "CMYK" color modes are supported for writing, "RGB" is used if the value is omitted), image data is converted from RGB to the color mode of the document (CMYK colors are converted using inverse of the approximation used for reading, "Indexed" color mode uses the closest color from the `palette`). "Bitmap" and "Indexed" documents can't have layers (Photoshop doesn't support them in these color modes), only composite image is written.
49
49
 
50
50
  - `palette` list of 256 RGB colors used by "Indexed" color mode, this property is only present when reading documents in "Indexed" color mode. It can be omitted when writing.
51
51
 
@@ -61,7 +61,7 @@ const psd: Psd = {
61
61
 
62
62
  If you're generating your own PSD file and want to provide this composite image data you will have to generate one yourself by composing all layer image data and effects yourself, this library does not provide any utilities to generate this image data for you.
63
63
 
64
- - `rawCompositeData` and `rawCompositeDataInfo` are used instead of `canvas` / `imageData` when `useRawData: true` option is passed to `readPsd` function. They contain undecoded composite image data that can be decoded later using `getCompositeImageData` or `getCompositeCanvas` functions (see [main README document](/README.md#functions)). Similarly layers will have `rawData` field (containing both layer and mask channels) instead of decoded image data, which can be decoded using `getLayerImageData`, `getLayerMaskImageData` and other helper functions. When writing, layer `rawData` is used instead of `canvas` / `imageData`. It's written back unchanged if it matches the format of the written file (8 bit RGB data and the same PSD/PSB format), otherwise it's decoded and re-encoded (raw data with bit depth other than 8 bits can't be written and throws an error). `rawCompositeData` is ignored when writing.
64
+ - `rawCompositeData` and `rawCompositeDataInfo` are used instead of `canvas` / `imageData` when `useRawData: true` option is passed to `readPsd` function. They contain undecoded composite image data that can be decoded later using `getCompositeImageData` or `getCompositeCanvas` functions (see [main README document](/README.md#functions)). Similarly layers will have `rawData` field (containing both layer and mask channels) instead of decoded image data, which can be decoded using `getLayerImageData`, `getLayerMaskImageData` and other helper functions. When writing, layer `rawData` is used instead of `canvas` / `imageData`. It's written back unchanged if it matches the format of the written file (the same color mode, bit depth and PSD/PSB format), otherwise it's decoded and re-encoded. `rawCompositeData` is ignored when writing.
65
65
 
66
66
  - `children` list of layers and groups at the root of the document. [see Layers and Groups](#layers-and-groups)
67
67
 
@@ -128,7 +128,7 @@ Image data can be accessed from `psd.canvas` or `layer.canvas` fields by default
128
128
 
129
129
  If `useImageData` option is set to true in read options then the image data will be available in `psd.imageData` and `layer.imageData` fields instead. Using image data option gives you direct access to pixel data without having to go through the canvas object, which bypasses alpha premultiplication and conversion from 16/32bit image data to 8bit canvas data.
130
130
 
131
- 16bit and 32bit documents can only be read, writing is only supported for 8bit documents.
131
+ When writing, image data can be provided as canvas or `PixelData` with 8 bit (`Uint8Array` or `Uint8ClampedArray`), 16 bit (`Uint16Array`) or 32 bit (`Float32Array`) values regardless of the bit depth of the document, it's converted to the bit depth of the document. 16 and 32 bit layers are stored in `Lr16` / `Lr32` sections and compressed using zip compression with prediction (like Photoshop does).
132
132
 
133
133
  For 16bit documents `imageData` fields will contain pixel data as `Uint16Array`, the values ranging from 0 to 65535.
134
134
 
@@ -319,7 +319,8 @@ Example layer structure:
319
319
  - `layerColor` color of the layer in layer list, property will be missing or will be one of the following values:
320
320
 
321
321
  ```ts
322
- type LayerColor = 'none' | 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'violet' | 'gray'
322
+ type LayerColor = 'none' | 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'violet' | 'gray' |
323
+ 'seafoam' | 'indigo' | 'magenta' | 'fuchsia'
323
324
  ```
324
325
 
325
326
  ![](/files/layer-color.png)
@@ -388,7 +389,7 @@ Example layer structure:
388
389
 
389
390
  This property is not present if there are not blending options set for the layer. This property can be omitted when writing.
390
391
 
391
- - `text` text properties of text layer
392
+ - `text` text properties of text layer (type tool info of Photoshop 5 text layers is also read into this field, these layers are written in current format)
392
393
 
393
394
  _TODO_
394
395
 
@@ -539,6 +540,7 @@ Example layer structure:
539
540
  - `blendInteriorElements` "Blend Interior Effects as Group" value
540
541
  - `transparencyShapesLayer` "Transparency Shapes Layer" value
541
542
  - `layerMaskAsGlobalMask` "Layer Mask Hides Effects" value
543
+ - `vectorMaskAsGlobalMask` "Vector Mask Hides Effects" value
542
544
  - `channelBlendingRestrictions` list of disabled color channels ("Channels" checkboxes), channel indices start from 0
543
545
  - `blendingRanges` "Blend If" ranges
544
546
  - `linkGroup` and `linkGroupEnabled` Layers with the same `linkGroup` value are linked together for moving/transforming. `0` value means no linking is active.
@@ -555,6 +557,12 @@ Example layer structure:
555
557
 
556
558
  - `pixelSource` video layer source information.
557
559
 
560
+ - `pixelSourceData` raw data of video layer frames (`Uint8Array` for each entry).
561
+
562
+ - `framedGroup` frame settings of frame layers (created with Frame tool), `rect` of the frame, frame `type` (1 - rectangle, 2 - ellipse), `lockPPI`, `preferredResolution` and `savedIteratedName`.
563
+
564
+ - `foreignEffectId`, `animationEffects` (raw descriptor data) and `patternData` (patterns used by the layer, Photoshop 6) additional layer information.
565
+
558
566
  ### Group
559
567
 
560
568
  Example group structure:
@@ -678,7 +686,7 @@ Image resources are global document settings, stored in `psd.imageResources` fie
678
686
 
679
687
  - `iccUntaggedProfile` ICC Untagged Profile
680
688
 
681
- - `iccProfile` raw ICC color profile data (`Uint8Array`). Documents are always written in RGB color mode, so `iccProfile`, `indexedColorCount`, `transparencyIndex`, `alphaChannelDisplayInfo`, halftone screens and transfer functions are not written if `colorMode` of the document is set to color mode other than RGB.
689
+ - `iccProfile` raw ICC color profile data (`Uint8Array`).
682
690
 
683
691
  - `exifData` raw EXIF data (`Uint8Array`, TIFF format).
684
692
 
@@ -696,7 +704,13 @@ Image resources are global document settings, stored in `psd.imageResources` fie
696
704
 
697
705
  - `alphaChannelDisplayInfo` display options (color, opacity and kind) of alpha and spot channels, in the same order as `alphaChannelNames`. Colors in color spaces not supported by the library are stored in `rawColor` field (color space id and 4 raw values) instead of `color`. Obsolete display info resource (Photoshop 5) is also read into this field, it is always written in the newer format.
698
706
 
699
- - `colorSamplers` positions (in pixels) and color spaces of color samplers (Photoshop 5 format).
707
+ - `colorSamplers` positions (in pixels), color spaces and sample size (`depth`) of color samplers. Samplers are written in Photoshop CS3 format if any of them has `depth` set, otherwise Photoshop 5 format is used.
708
+
709
+ - `quickMaskInfo` channel id and "initially empty" flag of Quick Mask.
710
+
711
+ - `measurementScale` measurement scale settings (raw descriptor data, `Uint8Array`).
712
+
713
+ - `duotoneHalftoneScreens`, `duotoneTransferFunctions`, `duotoneImageInformation` (raw data) and `alternateDuotoneColors` (Lab equivalents of duotone inks) settings of "Duotone" documents.
700
714
 
701
715
  - `effectsVisible` global flag to show or hide all layer effects (Photoshop only writes it when effects are hidden).
702
716
 
@@ -873,9 +887,11 @@ type HSB = { h: number; s: number; b: number; }; // values from 0 to 1
873
887
  type CMYK = { c: number; m: number; y: number; k: number; }; // values from 0 to 255
874
888
  type LAB = { l: number; a: number; b: number; }; // values `l` from 0 to 1; `a` and `b` from -1 to 1
875
889
  type Grayscale = { k: number }; // values from 0 to 255
876
- type Color = RGBA | RGB | FRGB | HSB | CMYK | LAB | Grayscale;
890
+ type Color = (RGBA | RGB | FRGB | HSB | CMYK | LAB | Grayscale) & { book?: ColorBookInfo; };
877
891
  ```
878
892
 
893
+ Colors picked from color books (Pantone, etc.) also have `book` field with name of the book and the color (`{ book: string; name: string; bookID: number; bookKey: string; }`), color values hold the book color converted to document color space.
894
+
879
895
  When you want to set field with a `Color` type, it's pretty straightforward, you can just choose any of the formats you like and set it on the field:
880
896
 
881
897
  ```ts
package/TODO.md CHANGED
@@ -1,94 +1,23 @@
1
- - remove RAW_IMAGE_DATA, use raw data instead (change tests to use get functions)
1
+ - Alpha and spot channel pixels (saved selections, spot colors) are thrown away on read (psdReader.ts:1124) and never written. The writer still writes their names and display info, so a written file can describe channels it doesn't contain.
2
+ - Composite transparency is lost in a few files (for example 4x4_8bit_rgba, adobehq_layers: 4 channels come back as 3). I haven't investigated why.
3
+ - Extra layer channel IDs beyond -1/-2/-3 are dropped.
4
+ - Per-layer XMP (shmd → cust → layerXMP) isn't kept; only layerTime is.
2
5
 
3
- - writing 1, 16, 32 bit documents
4
- 'pths'
5
- - split decoding layer data from reading the document
6
- - writing paletted documents
7
- - cleanup errors from tests (make list of drawings that should ignore those errors)
8
- - writing zip/zip with prediction
9
6
 
7
+ - Lab, Multichannel and Duotone can't be read (19 corpus files) or written. Duotone could be read as grayscale while keeping its color mode data.
8
+ - 32-bit CMYK and 16-bit Indexed throw on read, and 32-bit CMYK can't be written.
9
+ - Patterns are only written as 8-bit RGB (psdWriter.ts:1175); the source mode and depth are lost.
10
+ - CMYK conversion ignores the embedded ICC profile and always uses the SWOP approximation.
10
11
 
11
- - can we remove sectionDivider property ?
12
- - can we remove nameSource property ?
13
-
14
- - improve vector fill / stroke help sections
15
-
16
- check: https://github.com/psd-tools/psd-tools
17
- check: https://github.com/TheNicker/libpsd
18
-
19
- - zip with prediction: https://github.com/TheNicker/libpsd/blob/master/src/psd_zip.c
20
- - also support saving with zip compression ?
21
-
12
+ - Not parsed: Filter Gallery (GEfc), Lens Correction (LnCr), and adjustments used as smart filters: Hue/Saturation (HStr), Exposure, Vibrance, Color Balance, Black & White, Photo Filter, Gradient Map, Selective Color, Threshold, Channel Mixer, Color Lookup, Posterize, Shadows/Highlights.
22
13
 
23
14
 
15
+ - Fuzzer
24
16
 
17
+ - can we remove sectionDivider property ?
18
+ - can we remove nameSource property ?
25
19
 
20
+ - improve vector fill / stroke help sections
26
21
 
27
22
 
28
23
  - decompress image data in FEid section
29
-
30
- ```ts
31
- if (!channelLength) throw new Error('filterEffect: Empty channel');
32
- const compression = readUint16(reader);
33
- const data = createImageDataBitDepth(right - left, bottom - top, depth, 1);
34
- const end = reader.offset + channelLength - 2;
35
- readData(reader, channelLength - 2, data, compression, data.width, data.height, depth, 0, false, 1);
36
- if (reader.offset != end) throw new Error(`Invalid offset after readData ${reader.offset} ${end}`);
37
- channels.push(data);
38
-
39
- const top = readInt32(reader);
40
- const left = readInt32(reader);
41
- const bottom = readInt32(reader);
42
- const right = readInt32(reader);
43
- if (readUint32(reader)) throw new Error('filterEffect: 64 bit length is not supported');
44
- const extraLength = readUint32(reader);
45
- const compression = readUint16(reader);
46
- const data = createImageDataBitDepth(right - left, bottom - top, depth, 1);
47
- readData(reader, extraLength - 2, data, compression, data.width, data.height, depth, 0, false, 1);
48
- target.filterEffectsMasks[target.filterEffectsMasks.length - 1].extra = { top, left, bottom, right, data };
49
- ```
50
-
51
- ```ts
52
- export function decodeUtf16String(buffer: Uint8Array) {
53
- let result = '';
54
-
55
- for (let i = 0; i < buffer.byteLength;) {
56
- const w1 = (buffer[i++] << 8) | buffer[i++];
57
-
58
- if ((w1 & 0xF800) !== 0xD800) { // w1 < 0xD800 || w1 > 0xDFFF
59
- result += String.fromCharCode(w1);
60
- continue;
61
- }
62
-
63
- if ((w1 & 0xFC00) === 0xD800) { // w1 >= 0xD800 && w1 <= 0xDBFF
64
- throw new Error('Invalid utf-16');
65
- }
66
-
67
- if (i === buffer.byteLength) {
68
- throw new Error('Invalid utf-16');
69
- }
70
-
71
- const w2 = (buffer[i++] << 8) | buffer[i++];
72
-
73
- if ((w2 & 0xFC00) !== 0xDC00) { // w2 < 0xDC00 || w2 > 0xDFFF)
74
- throw new Error('Invalid utf-16');
75
- }
76
-
77
- result += String.fromCharCode(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);
78
- }
79
-
80
- return result;
81
- }
82
-
83
- export function encodeUtf16String(value: string) {
84
- const buffer = new Uint8Array(value.length * 2);
85
-
86
- for (let i = 0, j = 0; i < value.length; i++, j += 2) {
87
- const word = value.charCodeAt(i);
88
- buffer[j] = (word >> 8) & 0xff;
89
- buffer[j + 1] = word & 0xff;
90
- }
91
-
92
- return buffer;
93
- }
94
- ```
package/dist/abr.js CHANGED
@@ -244,7 +244,7 @@ function readSampleBitmap(reader, brushEnd, id) {
244
244
  if (minDataSize > brushEnd - reader.offset) {
245
245
  throw new Error('Brush sample data out of bounds');
246
246
  }
247
- (0, psdReader_1.consumeMemory)(reader, w * h * (compression === 1 && bithDepth === 16 ? 3 : 1));
247
+ (0, psdReader_1.consumeMemory)(reader, w * h * (bithDepth === 16 ? 3 : 1));
248
248
  const alpha = new Uint8Array(w * h);
249
249
  if (bithDepth === 8) {
250
250
  if (compression === 0) {
@@ -258,21 +258,26 @@ function readSampleBitmap(reader, brushEnd, id) {
258
258
  }
259
259
  }
260
260
  else if (bithDepth === 16) {
261
+ const data = new Uint16Array(w * h);
261
262
  if (compression === 0) {
262
- for (let i = 0; i < alpha.byteLength; i++) {
263
- alpha[i] = (0, psdReader_1.readUint16)(reader) >> 8; // convert to 8bit values
263
+ for (let i = 0; i < data.length; i++) {
264
+ data[i] = (0, psdReader_1.readUint16)(reader);
264
265
  }
265
266
  }
266
267
  else if (compression === 1) {
267
- const data = new Uint16Array(w * h);
268
268
  (0, psdReader_1.readDataRLE)(reader, { width: w, height: h, data }, w, h, bithDepth, 1, [0], false);
269
- for (let i = 0; i < alpha.byteLength; i++) {
270
- alpha[i] = data[i] >> 8; // convert to 8bit values
271
- }
272
269
  }
273
270
  else {
274
271
  throw new Error('Invalid compression');
275
272
  }
273
+ // Photoshop uses 0-32768 range for 16bit values internally, use full 0-65535 range only if there are values outside of it
274
+ let max = 0;
275
+ for (let i = 0; i < data.length; i++)
276
+ max = Math.max(max, data[i]);
277
+ const scale = max > 32768 ? 255 / 65535 : 255 / 32768;
278
+ for (let i = 0; i < alpha.byteLength; i++) {
279
+ alpha[i] = Math.round(data[i] * scale); // convert to 8bit values
280
+ }
276
281
  }
277
282
  else {
278
283
  throw new Error('Invalid depth');
package/dist/abr.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abr.js","sourceRoot":"../src/","sources":["abr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abr.js","sourceRoot":"../src/","sources":["abr.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ import { PsdWriter } from './psdWriter';
4
4
  import { DescriptorUnitsValue } from './descriptor';
5
5
  import type { InternalImageResources } from './imageResources';
6
6
  export interface ExtendedWriteOptions extends WriteOptions {
7
+ colorMode?: number;
8
+ bitsPerChannel?: number;
7
9
  layerIds: Set<number>;
8
10
  layerToId: Map<any, number>;
9
11
  explicitLayerIds?: Set<number>;