context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);
Если мы просто используем первый параметр, результат должен быть заполнен 100 вокруг изображения, а не пустым.Там может быть кеш браузера для изображения, вот решение.
var imageObj = new Image();
imageObj.src = dataurl + (new Date().getIime());
imageObj.onload = function() {
context.drawImage(imageObj, 100, 100);
};