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");

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

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

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

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
24 мая 2024, в 10:38
50000 руб./за проект
24 мая 2024, в 10:22
11000 руб./за проект
24 мая 2024, в 10:21
5000 руб./за проект