Соединить несколько картинок в canvas и загрузить

401
21 июля 2017, 05:04
  var canvas = document.createElement('canvas');
canvas.id = 'dw',
  canvas.width = 296,
  canvas.height = 178,
  context = canvas.getContext('2d');
var dataURL = canvas.toDataURL("image/png");
var im;
var t = [];
function getImage(callback) {
  console.log('getImage');
  $('.paint-work__main-images').find('img').each(function(i, e) {
    if ($(e).not('[style*="display"]').attr('src') != undefined && i > 0) {
      t.push($(e).not('[style*="display"]').attr('src'));
    }
  }).promise().done(function() {
    setTimeout(function() {
      callback(t);
    }, 300)
  });
}
$('.paint-download-btn').on('click', function(e) {
  console.log('click');
  getImage(function(ia) {
    console.log(ia);
    var countT = ia.length,
      stepT = 0;
    for (var i = 0; i < countT; i++) {
      console.log(ia[i]);
      stepT++;
      im = new Image();
      //im.setAttribute('crossOrigin', 'anonymous');
      //im.crossOrigin="anonymous";
      im.src = ia[i];
      im.onload = function(im, i) {
        console.log(im);
        return function() {
          //console.log(img)
          context.drawImage(im, 0, 0, canvas.width, canvas.height);
          //return canvas.toDataURL("image/png");
        }
      }(im, i);
      setTimeout(function() {
        //console.log('timeout');
        //console.log(canvas);
        //$('.paint').append(canvas);
        //console.log(dataURL);
      }, 300);
    }
    if (countT <= stepT) {
      $('.paint').append(canvas);
      setTimeout(function() {
        //dataURL = canvas.toDataURL();//.replace("image/png", "image/octet-stream");
        console.log(dataURL);
        $.redirect("/gallery/paint-house/download.php", {
          file: canvas.toDataURL()
        });
      }, 3000);
    }
  });

});

ТО картинка плохо отрисовывается то выскакивают ошибки по Cross-Origin и последняя ошибка Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported. Подскажите где ошибка.

READ ALSO
Как привязать кнопке видео?

Как привязать кнопке видео?

Ребят помогите, есть две кнопки , нужно для каждой кнопке добавить видео файлДопустим при нажатии на кнопку открывается одно видео , а при...

179
Вывод select с помощью js

Вывод select с помощью js

Здравствуйте! Есть такой код, который динамический выводит input:

247