对于不支持 SVG 的浏览器,我想显示图表的静态图像而不是交互式版本。
一个想法是预先生成所有可能的图表状态(大约 300 个)。我尝试使用 Canvas2Image 库,但它似乎不允许我指定文件名。有什么解决方法吗?也许是服务器端解决方案?
最佳答案
还有其他几种方法可以解决这个问题。
rsvg
是一个静态单 channel 处理 SVG 的渲染库。它用于 ImageMagick 的转换工具,并且还具有 python 和其他绑定(bind)。有些人发现不支持各种 SVG-ism,但 rsvg 会时不时地获得更新,因此最好尝试看看。
inkscape
是一个 GUI 程序,包括 SVG->PNG 转换。但它也可以专门在命令行上使用(不需要 X11)。请参阅 man inkscape
了解可用于处理 svg 的所有命令行选项;它非常灵活。渲染速度相对较快。主要缺点是,作为一个 GUI 程序,它有很多依赖项,而 Web 服务器上可能不存在这些依赖项。
关于javascript - 从 svg 或通过 canvas 的 svg 输出具有正确文件名的 300 个 png 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10635308/