在html中,显示svg,<object>看起来要比<embed>更加合适,因为当svg尺寸过大时,<object>只会对其缩放,而<embed>会将图像裁剪掉 正所谓:既生瑜,何生亮。但是<object>是一个比<embed>更不正式的标签! 如果你的svg需要给更多的人看,那么使用<embed>是一个不错的选择! 很简单,我们可以从svg读出其width,height! 由于svg也是XML格式的,那么就容易多了! <%@ Import NameSpace="System.XML" %> 别忘了导入相应的名称空间
方法如下:相应的函数的作用我就不详细说明了,.NET Framework中都有详细的说明 sub showSvgWindow(theSvgPath as string) dim reader as xmlTextReader = Nothing dim nodeAttribtion as new arrayList() dim i,width,height as integer reader = new xmlTextReader(server.MapPath(theSvgPath)) dim exp as exception Try While reader.Read() If reader.NodeType = XmlNodeType.Element And reader.Name = "svg" Then If reader.HasAttributes Then For i = 0 to (reader.attributeCount-1) reader.moveToAttribute(i) If reader.Name = "width" Then width = reader.Value End If If reader.Name = "height" Then height = reader.Value End If Next End If Exit While End If End While Catch exp End Try If CInt(width) < 50 Then width = "50" Else If CInt(height) < 50 Then height = "50" End If svgWindow.Text = "<embed src=" & theSvgPath & " height=" & height & "px width=" & width & "px></embed>" svgTitle.Text = request.QueryString("title") end sub 
|