diff options
| author | timb <opuscule@gmail.com> | 2015-07-16 16:41:54 -0700 |
|---|---|---|
| committer | timb <opuscule@gmail.com> | 2015-07-16 16:41:54 -0700 |
| commit | e3696c48da4d01c147b37e0932c4cf7e806f85fb (patch) | |
| tree | 2856f616e049f51b7b0da0ccff4927fe7f158dfa /js | |
| parent | 4ca3230391b7e01bec07365117511141810f149b (diff) | |
export rotated png when canvas is rotated
Diffstat (limited to 'js')
| -rw-r--r-- | js/clipboard.js | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/js/clipboard.js b/js/clipboard.js index 79d323e..52f153c 100644 --- a/js/clipboard.js +++ b/js/clipboard.js @@ -5,6 +5,7 @@ var clipboard = (function () { importing: false, visible: false, canvas: document.createElement("canvas"), + canvas_r: document.createElement("canvas"), bind: function () { import_ascii.addEventListener("change", exports.setFormat("ascii")) @@ -210,7 +211,21 @@ var clipboard = (function () { return output }, - export_png: function (done_fn) { + rotate_canvas: function(){ + var cr = clipboard.canvas_r, c = clipboard.canvas + // cr.width = c.width + // cr.height = c.height + cr.width = c.height + cr.height = c.width + var ctx = cr.getContext('2d') + ctx.resetTransform() + ctx.translate(0, cr.height) + ctx.rotate(-Math.PI / 2) + ctx.drawImage(c, 0, 0) + return cr + }, + + export_canvas: function (done_fn) { var opts = { palette: 'mirc', font: 'fixedsys_8x15', @@ -218,8 +233,9 @@ var clipboard = (function () { bg: 1, canvas: clipboard.canvas } - if (done_fn){ - opts.done = done_fn + opts.done = function(){ + var c = canvas.rotated ? clipboard.rotate_canvas() : clipboard.canvas + if (done_fn) done_fn(c) } var start = Date.now(); @@ -233,22 +249,22 @@ var clipboard = (function () { }, save_png: function () { - var save_fn = function(){ + var save_fn = function(canvas){ var filename = clipboard.filename() + ".png" - var blob = dataUriToBlob(clipboard.canvas.toDataURL()) + var blob = dataUriToBlob(canvas.toDataURL()) saveAs(blob, filename); } - clipboard.export_png(save_fn) + clipboard.export_canvas(save_fn) }, upload_png: function () { - var upload_fn = function(){ - var uri = clipboard.canvas.toDataURL() + var upload_fn = function(canvas){ + var uri = canvas.toDataURL() var filename = clipboard.filename() var tag = 'ascii' upload(uri, filename, tag) } - clipboard.export_png(upload_fn) + clipboard.export_canvas(upload_fn) }, } |
