Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Функция сохранить изображение canvas javascript (https://javascript.ru/forum/misc/84056-funkciya-sokhranit-izobrazhenie-canvas-javascript.html)

Alexandroppolus 23.05.2022 12:47

Цитата:

Сообщение от Gvozd (Сообщение 545565)
как минимум стоит добавить
image.crossOrigin = 'anonymous';


Вообще должен был ругнуться в консоли на tainted canvas, или вроде того, и по тексту ошибки в гугле уже полно информации

в приведенном куске кода упоминаются только "свои" картинки, не с другого ориджина.
может, автор топика что-то недоговаривает?..

Alexandroppolus 23.05.2022 12:49

Цитата:

Сообщение от рони (Сообщение 545566)
Gvozd,
Привет!


картинки совсем показывать отказывается.

если сервер не отдает с картинкой разрешающий заголовок CORS, то да, не отрисуется.

Alexandroppolus 23.05.2022 12:53

Цитата:

Сообщение от wweelltt
window.addEventListener('load', function() {
  ctx.drawImage(img, 0, 0, 540, 675);
});

этот load не будет ждать загрузку картинок, сотворенных скриптом. Соответственно, drawImage срабатывает раньше, чем картинки загрузятся.

рони 23.05.2022 13:08

Цитата:

Сообщение от Alexandroppolus
drawImage срабатывает раньше

успевает, проверено(https://javascript.ru/forum/misc/840...tml#post545468) ... но если в коде есть drawImage потом toDataURL не срабатывает(tainted).

Alexandroppolus 23.05.2022 13:17

откуда здесь возьмется tainted, если есть только img.src = "sky.jpg" и image.src = 'sun.png'?

Rise 23.05.2022 14:11

Цитата:

Сообщение от Alexandroppolus
откуда здесь возьмется tainted

Например, location.protocol равен 'file:', по крайней мере в Chrome это причина для tainted.

Alexandroppolus 23.05.2022 15:10

Rise,
хм... ну может быть.
уже лет 10 так не дебажился, забыл совсем)


Часовой пояс GMT +3, время: 06:06.