是否可以创建一个画布来提取图像数据,而无需实际渲染画布

Is it possible to create a canvas to extract image data without actually rendering the canvas?

本文关键字:数据 图像 创建 是否 一个 提取      更新时间:2023-09-26

因此,我在Angular中有一个应用程序,它使用Chart.js在应用程序的一些视图中生成一些动态图表。该应用程序还能够通过PDFMake Javascript库将部分数据导出为PDF格式,该库相当基本,但允许将基本文本和图像输出到PDF文件。

问题是,我可以在生成将由PDFMake库解析的数据的工厂内动态地执行以下操作吗:

  1. 创建Canvas元素而不渲染它
  2. 将Chart.js图表分配给画布(我知道如何做到这一点),最重要的是:
  3. 从画布导出图像数据,这样我就可以将图像数据转发到PDFMake,而无需向最终用户显示画布。它必须发生在后台,代码内部

提取画布数据作为图像是否可以在不绘制画布元素甚至不将其添加到DOM的情况下完成?

我做了一个快速测试,但ChartJS似乎不接受用document.createElement('canvas')创建的内存画布,因此您可以将画布从屏幕上移开,使其不可见。