victorzadorozhnyy
@victorzadorozhnyy

Как скачать canvas картинку?

Конвертирую SVG в PNG, потом нужно сделать кнопку скачать, но не мойму как это сделать.
Картинка конвертируется (проверяю добавлением на страницу)
// Добавил функцию к кнопке
        var buttonConvert = document.getElementById("convertBtn");

// Нахожу svg и в Canvas засовываю 
        buttonConvert.onclick = function svgToCanvas(){
            // Select the first svg element
            var svg = d3.select("svg")[0][0],
                img = new Image(),
                serializer = new XMLSerializer(),
                svgStr = serializer.serializeToString(svg);

            img.src = 'data:image/svg+xml;base64,'+window.btoa(svgStr);

//Делаю для себя проверку что все работает, вижу что элемент добавился
            var canvas = document.createElement("canvas");
            document.body.appendChild(canvas);

            //saveAs(canvas, "chart.png");

            canvas.width = width;
            canvas.height = height;
            canvas.getContext("2d").drawImage(img,0,0,width,height);

 // Вот тут заминка, на работает функция, а нужно еще и для всех браузеров
// включая EI10+
            canvas.download = ("chart.png");

Помогите разобраться чего мне не хватает?
  • Вопрос задан
  • 4320 просмотров
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Я использовал вот эту библиотеку.
https://github.com/eligrey/FileSaver.js/

Вот пример, где работает из (FF, Chrome, IE10+ ): https://eligrey.com/demos/FileSaver.js/
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
28 нояб. 2024, в 13:31
30000 руб./за проект
28 нояб. 2024, в 13:22
1000 руб./за проект
28 нояб. 2024, в 13:00
70000 руб./за проект