Cкачивание SVG

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Реакции
94
Баллы
28
Всем привет, может кто сталкивался с svg в формате
HTML:
Развернуть Свернуть Копировать
<img class="css-1motqmv" src="data:image/svg+xml;utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%20standalone%3D%22no%22%3F%3E%0A%3Csvg"

никак не могу понять как сохранять такие файлы на комп.

В хроме просто правый щелчок мыши+ сохранить как и svg файл готов, а как сделать это програмно не понимаю.

Заранее спасибо!

П.С.

Нашел вот такой код на гитхабе для скачки:

JavaScript:
Развернуть Свернуть Копировать
      var dataURL = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-350%20-250%20700%20500%22%3E%0A%20%20%20%20%20%20%3Cstyle%20type%3D%22text%2Fcss%22%20media%3D%22screen%22%3E%0A%20%20%20%20%20%20%20%20svg%20%7B%20background%3A%23fff%3B%20%7D%0A%20%20%20%20%20%20%20%20.face%20%7B%20stroke%3A%23000%3B%20stroke-width%3A20px%3B%20stroke-linecap%3Around%20%7D%0A%20%20%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%20%20%3Ccircle%20r%3D%22200%22%20class%3D%22face%22%20fill%3D%22red%22%2F%3E%0A%20%20%20%20%20%20%3Cpath%20fill%3D%22none%22%20class%3D%22face%22%20transform%3D%22translate(-396%2C-230)%22%20d%3D%22M487%2C282c-15%2C36-51%2C62-92%2C62%20c-41%2C0-77-25-92-61%22%2F%3E%0A%20%20%20%20%20%20%3Ccircle%20cx%3D%22-60%22%20cy%3D%22-50%22%20r%3D%2220%22%20fill%3D%22%23000%22%2F%3E%0A%20%20%20%20%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%22-50%22%20r%3D%2220%22%20fill%3D%22%23000%22%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E";

      function download(){
        var dl = document.createElement("a");
        document.body.appendChild(dl); // This line makes it work in Firefox.
        dl.setAttribute("href", dataURL);
        dl.setAttribute("download", "test.svg");
        dl.click();
      }
      download()

Все работает если выполнять в браузере, а вот как локально его крутить не понятно :(
 
Последнее редактирование:
Пациента в студию.
Просто GET/POST запросом не сохранить "как файл" с декодированием?
 
svg это просто набор инструкций для отрисовки в браузере (векторная графика). для получения картинки без браузера, надо получить svg гет запросом, создать холст в памяти и отрисовать все инструкции на этом холсте, потом холст сохранить как картинку. изи :-)
ну как скачивать думаю не вызовет проблем, а вот все остальное это вот даааа.... сложная задача.
как костыль есть онлайн конвертер https://svgtopng.com/ru/ , но зачем он нужен когда и в зенке есть свой браузер.
вот еще несколько идей люди накидали. можно взять некоторые как вектор действий тык
 
Последнее редактирование:
  • Спасибо
Реакции: artomka
svg это просто набор инструкций для отрисовки в браузере (векторная графика). для получения картинки без браузера, надо получить svg гет запросом, создать холст в памяти и отрисовать все инструкции на этом холсте, потом холст сохранить как картинку. изи :-)
ну как скачивать думаю не вызовет проблем, а вот все остальное это вот даааа.... сложная задача.
как костыль есть онлайн конвертер https://svgtopng.com/ru/ , но зачем он нужен когда и в зенке есть свой браузер.
вот еще несколько идей люди накидали. можно взять некоторые как вектор действий тык
Спасибо за развертнутый ответ.

Решил пока что остановится на том js скрипте что скинул в старте + svgexport.

Все работает в отдельном проекте с браузером который только отрисовкой + преобразованием в пнг и занимается в однопотоке, проблем вроде как не заметил за пару часов работы.

П.С. svgexport умеет сразу разбирать data:imagе но там нужно xml переводить в json и я не стал этим заниматься.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)