有没有办法将VML文档转换为位图图像?

问题描述:

我一直在寻找一种从VML文档获得位图的方法。实际上,我在使用标签的几个库工作,所以我除了IE(当然)没有任何问题,因为我在IE中使用ExCanvas,但我想从生成的位图“帆布”(实际上是VML)。有没有办法将VML文档转换为位图图像?

我一直在寻找一些方法来从VML中获得位图JS,但我放弃了这个想法,现在我想找到一个服务器端的库,它能够获得一个VML字符串并将其转换它到一个位图图像。我的首选语言是PHP,但如果这种语言中没有任何语言,它就可以。 我也看了一个可以做到这一点的Java小程序,但事实上,如果没有签名的话,这是不可能的,这是不可能的。

谢谢您的回复!

+0

您是否试图在呈现VML文档后捕获它?在客户端还是服务器端? – 2009-05-26 19:56:01

+0

我有文档客户端,我知道如何得到它的服务器端,这不是一个问题。 – 2009-05-26 20:08:35

+0

不知道? :( 也许可以用一个ActiveX来完成,但是......这将是一个ActiveX。 – 2009-05-26 21:00:11

我发现了一个库,看起来像我的问题的最佳解决方案:VectorConverter。 它不过有几个问题:

  • 它只支持该规范的一个非常有限的一部分
  • 它不再被维护
  • 的代码是不是写得很好,它不使用现有的VML的DOM解析器
  • 我没有时间去增强它!

因此,如果任何人有很多时间和谁对这个项目感兴趣,欢迎来此工作,也许叉。如果您打算开展工作,请与我联系,我可以帮助您。

您可以使用类似CutyCapt的东西来允许浏览器呈现它并将其捕获到图像中。

+0

谢谢你使用这个工具,事实上我需要IE版本(你的页面有一个链接:http:// iecapt .sourceforge.net /)。我不知道它,但不幸的是,它需要一个URL来截取屏幕截图,我想在我想要的时候截取当前页面的截图。 – 2009-05-29 20:02:32

简单的可能性是使用C#在ie浏览器控件中显示加载vml页面的窗口,并使用this.webBrowser.Navigate(“file.html”)加载包含在html 中的vml页面,然后使通过使用graphic.CopyFromScreen函数自动捕获图像的快照。