function renderImageWithMask(baseImage, maskImage, finished) {
  var canvas = document.createElement('canvas');
  var canvas2 = document.createElement('canvas');
  canvas.width = 500;
  canvas.height = 800;
  canvas.style.width = '500px';
  canvas.style.height = '800px';
  canvas2.width = 500;
  canvas2.height = 800;
  canvas2.style.width = '500px';
  canvas2.style.height = '800px';
  
  var lc = 0;
  var cx = canvas.getContext('2d');
  var cx2 = canvas2.getContext('2d');
  function draw() {
    var px1 = cx.getImageData(0, 0, 500, 800);
    var px2 = cx2.getImageData(0, 0, 500, 800);
    for (var i = 0; i < px1.data.length; i += 4)
      px1.data[i + 3] = 255 - px2.data[i];
    cx.putImageData(px1, 0, 0);
    
    finished(canvas.toDataURL());
  }

  var img = new Image();
  img.onload = function() {
    cx.drawImage(img, 0, 0);
    lc++;
    if (lc == 2) draw();
  }
  img.src =  baseImage;
  var img2 = new Image();
  img2.onload = function() {
    cx2.drawImage(img2, 0, 0);
    lc++;
    if (lc == 2) draw();
  }
  img2.src = maskImage;
}

