2011-05-24 59 views
10

我正在使用缩略图,即服务在无形式的IE9控件中采用HTML内容的缩略图图像。一切工作顺利与一个DrawToBitmap调用以及几个GDI调用,但SVG内容不显示。其他一切似乎都显示得很好,但没有SVG。内联SVG内容在IE中不显示屏幕截图

我认为这与SVG在IE中的实现方式有关,但我不知道细节。有什么想法吗?

TIA。

回答

18

答案来自IEBlog的特德·约翰逊:

IE9没有单独的SVG引擎;它是全部一个DOM并呈现 管道。但是,如果您的文档不在9标准文档 模式下,则不会获得任何SVG内容。我想,默认情况下,.NET中的 WebBrowser控件默认为兼容模式。尝试添加 元标记到您的HTML页面的顶部,迫使IE9模式:

<meta http-equiv="X-UA-Compatible" content="IE=9"> 

这确实打开SVG渲染像一盏灯开关。

1

您还可以设置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的拒绝显示任何SVG我的图像的基本HTML页面直到我宣布HTML4严格或HTML5文档类型。