mirror of
https://github.com/publiclab/image-sequencer.git
synced 2025-12-14 04:10:04 +01:00
Support External Images via Canvas
This commit is contained in:
@@ -1,12 +1,36 @@
|
||||
function LoadImage(ref, name, src) {
|
||||
function CImage(src) {
|
||||
var datauri = (ref.options.inBrowser || src.substring(0,11) == "data:image/")?(src):require('urify')(src);
|
||||
function makeImage(datauri) {
|
||||
var image = {
|
||||
src: datauri,
|
||||
format: datauri.split(':')[1].split(';')[0].split('/')[1]
|
||||
}
|
||||
return image;
|
||||
}
|
||||
function CImage(src, callback) {
|
||||
var datauri;
|
||||
if (src.substring(0,11) == "data:image/") {
|
||||
datauri = src;
|
||||
callback(datauri);
|
||||
}
|
||||
else if (ref.options.inBrowser) {
|
||||
var ext = src.split('.').pop();
|
||||
var image = document.createElement('img');
|
||||
var canvas = document.createElement('canvas');
|
||||
var context = canvas.getContext('2d');
|
||||
image.onload = function() {
|
||||
canvas.width = image.naturalWidth;
|
||||
canvas.height = image.naturalHeight;
|
||||
context.drawImage(image,0,0);
|
||||
datauri = canvas.toDataURL(ext);
|
||||
callback(datauri);
|
||||
}
|
||||
image.src = src;
|
||||
}
|
||||
else {
|
||||
datauri = require('urify')(src);
|
||||
callback(datauri);
|
||||
}
|
||||
}
|
||||
|
||||
function loadImage(name, src) {
|
||||
var image = {
|
||||
@@ -34,13 +58,17 @@ function LoadImage(ref, name, src) {
|
||||
}
|
||||
return false;
|
||||
},
|
||||
output: CImage(src)
|
||||
}]
|
||||
};
|
||||
ref.images[name] = image;
|
||||
ref.images[name].steps[0].UI.onSetup();
|
||||
ref.images[name].steps[0].UI.onDraw();
|
||||
ref.images[name].steps[0].UI.onComplete(image.steps[0].output.src);
|
||||
CImage(src, function(datauri) {
|
||||
var output = makeImage(datauri);
|
||||
image.steps[0].output = output;
|
||||
ref.images[name] = image;
|
||||
ref.images[name].steps[0].UI.onSetup();
|
||||
ref.images[name].steps[0].UI.onDraw();
|
||||
ref.images[name].steps[0].UI.onComplete(image.steps[0].output.src);
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
return loadImage(name,src);
|
||||
|
||||
Reference in New Issue
Block a user