Commit 469ec77d authored by Ryan LeFevre's avatar Ryan LeFevre

Merge pull request #22 from basicallydan/master

Added #toBase64 and #fromDroppedFile:
parents 7ec70e92 cb61b9ee
......@@ -28,3 +28,15 @@ module.exports =
reader.onerror = reject
reader.readAsArrayBuffer(file)
@fromDroppedFile = (file) ->
new RSVP.Promise (resolve, reject) ->
reader = new FileReader()
reader.onload = (e) ->
psd = new PSD(new Uint8Array(e.target.result))
psd.parse()
resolve(psd)
reader.onerror = reject
reader.readAsArrayBuffer(file)
RSVP = require 'rsvp'
module.exports =
toPng: ->
new RSVP.Promise (resolve, reject) =>
# Draw the pixels to the canvas
canvas = document.createElement('canvas')
canvas.width = @width()
canvas.height = @height()
context = canvas.getContext('2d')
toBase64: ->
# Draw the pixels to the canvas
canvas = document.createElement('canvas')
canvas.width = @width()
canvas.height = @height()
context = canvas.getContext('2d')
imageData = context.getImageData(0, 0, @width(), @height())
pixelData = imageData.data
imageData = context.getImageData(0, 0, @width(), @height())
pixelData = imageData.data
pixelData[i] = pixel for pixel, i in @pixelData
pixelData[i] = pixel for pixel, i in @pixelData
context.putImageData(imageData, 0, 0)
context.putImageData(imageData, 0, 0)
canvas.toDataURL 'image/png'
toPng: ->
new RSVP.Promise (resolve, reject) =>
dataUrl = @toBase64()
# Create the image and set the source to the
# canvas data URL.
image = new Image()
image.width = @width()
image.height = @height()
image.src = canvas.toDataURL 'image/png'
image.src = dataUrl
resolve(image)
......
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