Основной сценарий
Я загружаю несколько изображений на стороне клиента. Некоторые из них из другого домена, некоторые - нет. Некоторые из них могут быть доступны с помощью атрибута crossOrigin
, некоторые из них не являются.
Основным требованием является получение dataURL для изображений, где это возможно.
Вопрос
После рисования изображения в элемент canvas (который мне нужно, чтобы получить dataURL, правильно?), как я могу проверить без блока try ... catch
, было ли пятно испорчено? Если полотно испорчено, я больше не могу использовать toDataURL()
(см. MDN).
var image = new Image(),
canvas = document.createElement( 'canvas' ),
context = canvas.getContext( '2d' );
image.onload = function(){
// adjust dimensions of canvas
canvas.width = image.width;
canvas.height = image.height;
// insert image
context.drawImage( image, 0, 0 );
// how to check here?
// get dataurl
dataurl = tmpCanvas.toDataURL();
// do stuff with the dataurl
};
image.src = src; // some cross origin image