psd
Version:
A general purpose Photoshop file parser.
40 lines (31 loc) • 949 B
text/coffeescript
module.exports =
setRgbChannels: ->
= [
{id: 0}
{id: 1}
{id: 2}
]
.push {id: -1} if is 4
combineRgbChannel: ->
rgbChannels =
.map (ch) -> ch.id
.filter (ch) -> ch >= -1 # Mask data is -2
for i in [0...]
r = g = b = 0
a = 255
for chan, index in rgbChannels
val = [i + ( * index)]
switch chan
when -1 then a = val
when 0 then r = val
when 1 then g = val
when 2 then b = val
.set([r, g, b, a], i*4)
readMaskData: (rgbChannels) ->
if
maskPixels = .mask.width * .mask.height
offset = * rgbChannels.length
for i in [0...maskPixels]
val = [i + offset]
.set([0, 0, 0, val], i*4)