我正在制作一个缩略图,其中服务以无形式的IE9控件获取HTML内容的缩略图。使用DrawToBitmap调用以及一些GDI调用,一切都运行顺利,但SVG内容未显示。其他一切似乎都很好,但没有SVG。
我认为这与如何在IE中实现SVG有关,但我不知道细节。有什么想法吗?
TIA。
答案 0 :(得分:19)
答案来自IEBlog的Ted Johnson:
IE9没有单独的SVG引擎;这是一个DOM和渲染 管道。但是,如果您的文档不在9标准文档中 模式,你不会得到任何SVG内容。我认为,默认情况下, .NET中的WebBrowser控件默认为兼容模式。尝试添加 HTML页面顶部的元标记强制IE9模式:
<meta http-equiv="X-UA-Compatible" content="IE=9">
这确实打开了SVG渲染,就像一个灯开关。
答案 1 :(得分:1)
您还可以设置HTML4严格或HTML5的文档类型。
<!DOCTYPE HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
来自http://www.seowarp.com/blog/2011/06/svg-scaling-problems-in-ie9-and-other-browsers/:
在开始之前,我想指出的是,在我的测试页面上,Internet Explorer 9拒绝在基本HTML页面上显示我的任何SVG图像,直到我声明HTML4严格或HTML5文档类型。