Arion
@Arion

Как сохранить html5 canvas/svg в png на javascript

Есть canvas:

window.onload = function(){
    var canvas = document.getElementById("myCanvas");
    var context = canvas.getContext("2d");
 
    var destX = 69;
    var destY = 50;
 
    var imageObj = new Image();
    imageObj.onload = function(){
        context.drawImage(imageObj, destX, destY);
    };
    imageObj.src = "http://otherdomain.ru/example.jpg";
};

или svg:

<svg version="1.1" width="1042" height="594" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <image x="2" y="2" width="50" height="50" xlink:href="http://otherdomain.ru/example.jpg">
  </image>
</svg>

как сохранить один из этих вариантов в png используя javascript.

Обратите внимание, что картинка подгружается с другого домена. В случае с Canvas метод toDataUrl выдает «security error».
  • Вопрос задан
  • 8066 просмотров
Пригласить эксперта
Ответы на вопрос 2
@yui_room9
Есть несколько вариантов

Canvas
1) Использовать proxy для изображения, тогда оно будет с вашего сервера
2) Взять изображение, попиксельно перерисовать на Canvas, сделать toDataURL

SVG
1) Здесь библиотека перерисовывает SVG на Canvas http://code.google.com/p/canvg/, а с Canvas уже toDataURL
Ответ написан
Я сомневаюсь, что вы сможете обмануть политику безопасности браузера.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы