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