Files
image-sequencer/src/ReplaceImage.js
Chinmay Pandhare 4451e04b68 replaceImage
2017-07-08 02:33:19 +05:30

36 lines
1.0 KiB
JavaScript

function ReplaceImage(ref,selector,steps) {
if(!ref.options.inBrowser) return; // This isn't for Node.js
this_ = ref;
var input = document.querySelectorAll(selector);
var images = [];
for (i = 0; i < input.length; i++)
if (input[i] instanceof HTMLImageElement) images.push(input[i]);
for (i in images) {
the_image = images[i];
var url = images[i].src;
var ext = url.split('.').pop();
var xmlHTTP = new XMLHttpRequest();
xmlHTTP.open('GET', url, true);
xmlHTTP.responseType = 'arraybuffer';
xmlHTTP.onload = function(e) {
var arr = new Uint8Array(this.response);
var raw = String.fromCharCode.apply(null,arr);
var base64 = btoa(raw);
var dataURL="data:image/"+ext+";base64," + base64;
make(dataURL);
};
if(url.substr(0,11).toLowerCase()!="data:image/") xmlHTTP.send();
else make(url);
function make(url) {
this_.loadImage(url).addSteps('default',steps).run(function(out){
the_image.src = out;
});
}
}
}
module.exports = ReplaceImage;