问题描述
|
我正在开发一个缩略图,以便服务在无格式IE9控件中获取HTML内容的缩略图。通过DrawToBitmap调用以及几个GDI调用,一切都可以顺利进行,但是SVG内容未显示。其他一切似乎都很好,但没有SVG。
我认为这与SVG在IE中的实现方式有关,但是我不知道细节。有什么想法吗?
TIA。
解决方法
答案来自IEBlog的Ted Johnson:
IE9没有单独的SVG引擎;都是一个DOM和呈现
管道。但是,如果您的文档不在9标准文档中
模式下,您将不会获得任何SVG内容。我认为默认情况下
.NET中的WebBrowser控件默认为兼容模式。尝试添加
HTML页面顶部的meta标记可强制IE9模式:
<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\">
实际上,这就像打开电灯开关一样打开了SVG渲染。
,您还可以设置HTML4 strict或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文档类型。