psd
Version:
A general purpose Photoshop file parser.
38 lines (31 loc) • 1.03 kB
text/coffeescript
module.exports =
parseRLE: ->
=
parseByteCounts: ->
.readShort() for i in [0...( * )]
parseChannelData: ->
= 0
= 0
for i in [0...]
+=
decodeRLEChannel: ->
for j in [0...]
byteCount = [ + j]
finish = .tell() + byteCount
while .tell() < finish
len = .read(1)[0]
if len < 128
len += 1
#.splice , 0, .read(len)...
data = .read(len)
.set data,
+= len
else if len > 128
len ^= 0xff
len += 2
val = .read(1)[0]
#[++] = val for i in [0...len]
.fill(val, , +len)
+= len