В нашем приложении есть функция «Сохранить как изображение», которая берет диаграмму (отображаемую в простом HTML) и экспортирует ее в виде изображения. Для этого мы сначала используем библиотеку html2canvas для преобразования HTML в холст, затем мы используем canvas для конвертации в Image для загрузки.
Проблема в том, что пользователь может расширять узлы в диаграмме, ипоэтому график может становиться все больше и больше, в настоящее время мы не ограничиваем, насколько большой график может расширяться. В определенный момент диаграмма становится слишком большой, и холст больше не сможет функционировать из-за ограничений по пикселям в холсте HTML5. Мы показываем им сообщение об ошибке, если они пытаются это сделать.
Вот мой вопрос - мне интересно, смогу ли я увеличить лимит, используя несколько объектов canvas, используя DIV вокруг диаграммы с overflow: hidden
Iможет экспортировать несколько раз в сетке. Теперь у меня есть 2 или более больших объекта HTML5 Canvas, и я хочу соединить их в одно большое изображение.
// Just to show how to do one canvas
function exportCanvasToImage(canvas, fileName) {
canvas.toBlob(b => saveAs(b, fileName));
}
/**
* @param {Array.<Array>} canvasGrid 2D array of Canvas to stitch together
* @param {String} fileName The name of file to write, i.e. "test.jpg"
*/
function exportLargeCanvasGridToImage(canvasGrid, fileName) {
// is this possible?
}