firefox svg canvas drawImage error

Я пытаюсь преобразовать внешний значок svg в base64. Он работает во всех браузерах, кроме Firefox, который выдает сообщение об ошибке «NS_ERROR_NOT_AVAILABLE».

var img = new Image(); img.src = "icon.svg"; img.onload = function() { var canvas = document.createElement("canvas"); canvas.width = this.width; canvas.height = this.height; var ctx = canvas.getContext("2d"); ctx.drawImage(this, 0, 0); var dataURL = canvas.toDataURL("image/png"); return dataURL; }; 

Может ли кто-нибудь помочь мне в этом, пожалуйста? Заранее спасибо.

Firefox не поддерживает рисование SVG-изображений на canvasе, если у svg-файла нет атрибутов ширины и высоты в корневом элементе и эти атрибуты width / height не являются процентами. Это давняя ошибка .

Вам нужно будет отредактировать файл icon.svg, чтобы он соответствовал вышеуказанным критериям.

  • Как преобразовать / сохранить график d3.js в pdf / jpeg
  • Как масштабировать SVG-изображение, чтобы заполнить окно браузера?
  • Вставить SVG в SVG?
  • Как установить происхождение трансформации в SVG
  • Рисование SVG-файла на canvasе HTML5
  • Мета-элемент IE11 Перерывы SVG
  • Форма треугольника с фоновым изображением
  • Проблема с реальным устройством с использованием векторного изображения в android. SVG-андроид
  • Преобразование анимированных SVG в фильм
  • Как установить ширину штриха: 1 только на определенных сторонах SVG-фигур?
  • Быстрые и гибкие интерактивные диаграммы / графики: SVG, Canvas, другое?
  • Давайте будем гением компьютера.