Highcharts - экспорт в base64 Есть ли способ взять диаграмму с высокими диаграммами и получить его представление base64? Другими словами, эквивалент первого экспорта его в PNG или JPG (мне все равно), а затем получение строки base64 этого изображения. Ответ 1 вот как я его решаю: использовать google canvg Он берет URL-адрес SVG файла или текст SVG файла, анализирует его на JavaScript и отображает результат в элементе Canvas. визуализируйте вашу диаграмму svg на холст, используя canvg(document.getElementById('canvas'),getSVG()); конвертировать то, что у вас есть на холсте, в изображение var canvas = document.getElementById("canvas") ; var img = canvas.toDataURL("image/png"); //img is data:image/png;base64 img = img.replace('data:image/png;base64,', ''); сделать ваше изображение скрытым полем $("hidden field").val(img) ; чтобы преобразовать эту строку в массив байтов do Dim imageFile() As Byte = Convert.FromBase64String(YOUR HIDDEN FIELD .Value) UPDATE получить старшие SVG используйте метод chart.getSVG() API Highcharts Пример jsFiddle или просто используйте $(your svg).html() Ответ 2 Во-первых, см. документацию highcharts по экспорту файлов. Это даст вам строку нужного URL изображения. Экспорт: http://www.highcharts.com/ref/#exporting Используйте HTTP-запрос (например, с AJAX), чтобы получить двоичный контент файла (jpg/png) и перенести его в библиотеку кодирования base64, такую как: Base64: http://www.webtoolkit.info/javascript-base64.html Наслаждайтесь и удачи!
Ответ 1 вот как я его решаю: использовать google canvg Он берет URL-адрес SVG файла или текст SVG файла, анализирует его на JavaScript и отображает результат в элементе Canvas. визуализируйте вашу диаграмму svg на холст, используя canvg(document.getElementById('canvas'),getSVG()); конвертировать то, что у вас есть на холсте, в изображение var canvas = document.getElementById("canvas") ; var img = canvas.toDataURL("image/png"); //img is data:image/png;base64 img = img.replace('data:image/png;base64,', ''); сделать ваше изображение скрытым полем $("hidden field").val(img) ; чтобы преобразовать эту строку в массив байтов do Dim imageFile() As Byte = Convert.FromBase64String(YOUR HIDDEN FIELD .Value) UPDATE получить старшие SVG используйте метод chart.getSVG() API Highcharts Пример jsFiddle или просто используйте $(your svg).html()
Ответ 2 Во-первых, см. документацию highcharts по экспорту файлов. Это даст вам строку нужного URL изображения. Экспорт: http://www.highcharts.com/ref/#exporting Используйте HTTP-запрос (например, с AJAX), чтобы получить двоичный контент файла (jpg/png) и перенести его в библиотеку кодирования base64, такую как: Base64: http://www.webtoolkit.info/javascript-base64.html Наслаждайтесь и удачи!