Разобралась в чём проблема, действительно было много лишнего кода. Выкладываю, может пригодится.
reader.onload = function(event) {
var i = document.getElementById("source_image");
var j = document.getElementById("result_image");
img = new Image();
img.src = event.target.result;
i.src = event.target.result;
j.src = event.target.result;
img.onload = function() {
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
canvas.width=765
canvas.height=300
ctx.drawImage(i, 0, 0, 765, 300);
$("#holder").append(canvas);
var dataURL = canvas.toDataURL();
document.getElementById('source_image').src = dataURL;
document.getElementById('result_image').src = dataURL;
}
};