Commit 143a3179 authored by Ryan LeFevre's avatar Ryan LeFevre

Add global mask parsing

parent d9eb995e
...@@ -2,7 +2,8 @@ var PSD = require('../'); ...@@ -2,7 +2,8 @@ var PSD = require('../');
psd = PSD.open('./examples/images/example.psd', function (psd) { psd = PSD.open('./examples/images/example.psd', function (psd) {
console.log(psd.header.export()); console.log(psd.header.export());
console.log(psd.tree().children()[0].children()[0].nextSibling().export()); console.log(psd.tree().export());
console.log(psd.layerMask.globalMask);
}); });
// psd.image.saveAsPng('./output.png').then(function () { // psd.image.saveAsPng('./output.png').then(function () {
// console.log("Finished!"); // console.log("Finished!");
......
...@@ -36,3 +36,23 @@ module.exports = class LayerMask ...@@ -36,3 +36,23 @@ module.exports = class LayerMask
@layers.push new Layer(@file, @header).parse() @layers.push new Layer(@file, @header).parse()
parseGlobalMask: -> parseGlobalMask: ->
length = @file.readInt()
return if length <= 0
maskEnd = @file.tell() + length
@globalMask = _({}).tap (mask) ->
mask.overlayColorSpace = @file.readShort()
mask.colorComponents = [
@file.readShort() >> 8
@file.readShort() >> 8
@file.readShort() >> 8
@file.readShort() >> 8
]
mask.opacity = @file.readShort() / 16.0
# 0 = color selected, 1 = color protected, 128 = use value per layer
mask.kind = @file.readByte()
@file.seek maskEnd
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment