SVG到PNG保留CSS使用javascript
SVG to PNG retaining CSS using javascript
这是一个很长的镜头,但是有没有人知道一个工具,可以导出png从svg输入并保留应用到它的CSS样式。我已经使用了canvas,但是在输出中一切都显示为黑色,因为样式保存在css中,而不是svg文档的一部分。
解决方案是基于web的,如果可能的话,我想使用javascript解决方案执行转换客户端。
更新:
我知道您正在为SVG标记使用外部样式表。所以我认为你需要一个三步解决方案:
- 使应用于SVG标记的样式表声明内联。这是最好的客户端完成。我现在在源代码中没有解决方案,但是应该可以使用W3C DOM Level 2 Style接口实现来找出适用于元素的选择器,以及在相应块中使用的声明(仅
document.defaultView.getComputedStyle()
可能会导致SVG片段具有太多内联声明)。 将带有内联样式表的SVG标记转换为PNG。这最好在服务器端完成(例如,使用ImageMagick),因此您需要将SVG标记发送到服务器。 - 为用户提供PNG资源
这两个步骤可以在表单提交中执行,在onsubmit
属性中执行步骤#1,然后调用表单的submit()
方法。
@pluke,您已经在@PointedEars回复的注释中询问了将外部CSS样式转换为SVG的内联样式的源代码。我自己也花了几个小时寻找这样的工具,但没有找到。然而,我发现了一个相当具体的解决方案,应用与Rickshaw/D3生成的SVG: @thirdcreed已经发布了JavaScript: Rickshaw CSS/Axes in JSDOM -只需根据需要调整那些D3特定的选择器到您的自定义CSS/SVG元素。
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何使用javascript或html下载PDF格式的填写表单
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何使用javascript从主svg对象动态创建svg视图框
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 使用Javascript获取所选选项ID
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 使用javascript从数据库中添加表
- JSON.parse没有'不能使用Javascript
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 可以't使用JavaScript获取width属性
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 使用javascript在Flash中加载外部图像
- 使用Javascript创建测验页面
- 在PHP中使用javascript更改页面标题'if'
- 使用javascript函数在页面初始化后加载jquery
- 无法使用javascript检索SPList项
- 使用javascript存储变量的最安全方式
- 使用javascript搜索具有用户输入的数组