PSD.JS Parsing the color of a text layer

2019-08-18 03:50发布

问题:

I am using PSD.JS (a photoshop PSD file parser for NodeJS and browsers) to parse a few PSD files. When the parser extracts the information for a text layer, the color information is returned as an array.

e.g: colors": [ [ 102, 0, 255, 0, 255 ], [ 102, 0, 255, 0, 255 ] ]

But the array contains 5 values instead of 3 for RGB or 4 for CMYK.

Please can somebody help me understand why the color is represented with 5 values?

And is there a way to convert this into RGB equivalent?

I am pretty sure this is not an issue with PSD.JS but an implementation detail.

回答1:

PSD.js mainainer here.

After some digging in the source code i discovered that this image channel parsing follows the js canvas convention of pixel channeling as discribed here.

as the doc states:

Parse the image data. 
The resulting image data will be formatted to match the Javascript Canvas color format.
 e.g. [R, G, B, A, R, G, B, A].

So this has nothing to do with the psd file format or the image in question, it is simply because we parse it this way so you can conveniently apply the buffer to a canvas.