在 HTML5 canvas 上使用 CSS 样式绘制 SVG

Draw SVG with CSS styling on HTML5 canvas

我正在使用 NVD3 在 Web 应用程序中生成图表。所有图表都是 SVG。

我想通过在 canvas 对象上绘制这些图表来将它们转换为图像。但是,由于图表的外观取决于 CSS 样式(包含在 NVD3 中),因此生成的图像看起来不像应用程序中呈现的图表。

有什么方法可以在将 SVG 绘制到 canvas 时保留 CSS 样式?

这可以通过在 SVG 定义本身的 CDATA 标记内提供 CSS 文件来完成。例如:

<svg xmlns="http://www.w3.org/2000/svg">

  <style type="text/css">
    <![CDATA[
        .some-class {
            opacity: 1;
        }
    ]]>
  </style>

</svg>