Svg图片在asp网站上的使用

最近需要做一个动态的根据后台的返回数据而动态显示的导航图,然后我就采用了jquery+ajax+SVG矢量图来实现这个功能。

首先,客户给了个ai的矢量图,我对这一块不懂就找以前同事帮我转成了svg图形,听说很简单,但是矢量图是封闭的情况下。

然后,我就开始研究这个SVG图形的使用:  

  1.SVG图形可以放在embed和iframe标签,虽然embed标签在低版本的浏览器里不支持,但是从长久考虑和技术角度个人觉得放到embed标签里更合适。

  在这个地方只有一个需要注意的地方,svg图片的路径要和网站的路径或域名保持一致。这个问题我也不清楚怎么解释,只能说是个人经验之谈。例如说网站地址是:‘www.baidu.com’,那么embed上的src就应该是‘www.baidu.com/.../xxx.svg’而不是‘~/../xxx.svg’  

1 <embed id="emSvg" style="width:800px;height:800px; margin:0 auto;display:block" src="~/Content/Images/navsvg.svg" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" />
2
3
4
5 @*<iframe id="emSvg" style="width:500px;height:500px" src="http://visitorreg.sialchina.cn/sc/chn/content/images/navsvg.svg"></iframe>*@

  2.我这个项目里需要控制的是SVG里面不同模块的背景色。这个就是这个项目里的重头戏了。首先你要知道svg里面各个模块的ID或者是其他能让你通过选择器明确找到你要选择的那个模块。这个如果是自己制作SVG图形的话,尽量按照自己后期要使用的规则对各个模块进行规范。要不就的像我这样自己用浏览器打开,然后找到相应的模块最后再去给这些个模块相应的ID,幸运的是众多模块里我只用10个,所以说多了都是泪啊。下面是我获取相应的模块并修改背景颜色的代码,不过使用embed和Iframe有一点稍微的区别。

  embed标签下面  

 $("#emSvg")[0].getSVGDocument().getElementById(items[i]).setAttribute("fill", "green")

  Iframe标签下面

 emSvg.getSVGDocument().getElementById(items[i]).setAttribute("fill", "green")

  3前面说到了embed标签在低版本的浏览器不支持,这个就需要我们使用一个插件Adobe SVG Viewer来解决,但是我觉得,这个是暂时的,科技互联网发展越来越快,ie9一下的低版本的浏览器慢慢也会淡出人们的生活。

            if (brows.msie){
                if ($.browser.version<9){
                    $("#ieMsg").css("display","");
                }
            } 
 <span id="ieMsg" style="display: none"><a href="" style="color: red; font-weight: bold; font-size: 14px">若图片无法正确显示导航效果,请点击安装Adobe SVG Viewer插件。</a>
        </span>

  

时间: 2024-10-31 11:43:17

Svg图片在asp网站上的使用的相关文章

KindEditor上传本地图片在ASP.NET MVC的配置

http://www.cnblogs.com/upupto/archive/2010/08/24/1807202.html 本文解决KindEditor上传本地图片在ASP.NET MVC中的配置. 开发工具:VS 2010 EN 开发语言:Visual C# ASP.NET MVC 2.0 kindeditor-3.5-zh_CN 下载 文中以Blog文章为例,为做演示,数据表比较简单,如下图: 添加 BlogController Code: 1 2 3 4 5 6 7 8 9 10 11 1

访问asp网站时,页面上显示请求的资源在使用中

服务器生产环境: 操作系统:WIN2003 WEB:IIS 6.0 问题过程: 9月7日上午8:40左右,科研处长发现他们的网站无法登录,网上留言了我,当我进一步了解情况时,发现还有几个二级网站出现如下情况: 浏览器访问asp网站时,页面上显示请求的资源在使用中:有的ASP网站又可以正常访问,这就带来了一些困难,不知所措,到底发生了什么原因?如果在网上搜集一下,说一大堆原因,实际上一一测试,但无法解决. 此时此刻,心理非常紧张,又在抓紧时间进一步分析,如何解决此次网站运行故障. 通过以下设置,可

在ASP.NET中实现图片、视频文件上传方式

一.图片 1.在前端用<asp:FileUpload ID="UpImgName" runat="server"/>控件 2.在后台.cs中写上 protected void btnSubmit_Click(object sender,EventArgs e) { string strImgPath=string.Empty; string strDateTime=dateTime.Now.Tostring("yyyyMMddhhmmss&qu

在线修改图片尺寸缩放网站(完美解决图片过大无法上传问题)

在线修改图片尺寸缩放网站(完美解决图片过大无法上传问题) http://pic.sdodo.com/tool/picadjust/ http://www.zhengzong.cn/bbsxp/thread-8136-1-1.html 一次使用windows xp用头像是用到 因头像尺寸标准为48*48 Look! 成功修改的小猫咪! Windows Xp / 2003用户头像位置 C:\Documents and Settings\All Users\Application Data\Micro

SVG图片技术小结

今天在公司没事,研究了一下最近流行的SVG技术,发现,随着css3的不断流行,和浏览器技术的发展,SVG将会取代网站大量图片,成为网站图片展现的主流. AI是我们常用的矢量图编辑器,现在AI可以直接另存SVG图片,SVG图片相比传统图片,占位更小,浏览更方便!而且可扩展性更强! 下面看一个SVG的例子: <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//

WPF(C#)图片色彩的纠正-上

WPF(C#)图片色彩的纠正-上 WPF(C#)图片色彩的纠正-下 前言 对图片进行色彩的纠正,其实与WPF是没有什么关系的,为什么标题又是“WPF(C#)图片色彩的纠正”呢,因为这些图片色彩的纠正功能都是承载在WPF界面上的,并且我也很想介绍一些关于WPF方面的知识,所以就命名了此标题. 这个软件的主要功能是通过设置Tint, BlackEnhance, ColorVibrancy, Automatic, Sharpen, Depth,Bias等参数来对图片的色彩进行纠正(参数属于专业领域词汇

使用SVG图片格式

SVG格式, 适应屏幕, 图片较小, 还有很多优点, 参考. 本文讲解如何使用SVG格式. SVG: Scalable Vector Graphics, 可缩放矢量图形. IRI: Internationalized Resource Identifiers, 国际化资源标识符. 下载SVG格式的图片. 新建项目, 空白项目显示图片. Android Studio 2.0 路径: File -> New -> Vector Asset -> Local SVG file 勾选重置图片大小

Android应用性能优化系列视图篇——SVG图片版本兼容及性能优化解决方案

SVG矢量图在图片表现力方面远远优于PNG位图,同时在可维护性和修改性方面也比位图要方便很多.尽管Android在5.0版本就引入了SVG图片的解决方案:Vector.然而,兼容性和性能方面却是差强人意,以至于至今都未能广泛使用. 本篇博客给大家带来一套较为不错的解决方案:SVG-Android(作者是本人...),相比于Vector,其在兼容性方面能够兼容到2.3以上,同时在性能方面,也有了质的提升. 开源库地址:https://github.com/MegatronKing/SVG-Andr

ASP.NET 上传文件以及点击下载

需求说明: 实际项目中,有必要上传附件(包括图片.文档.解压文件等)对数据库数据完善,这里实现的功能就是,上传附件到数据库,然后从数据读出来之后,可以"点击下载"之前上传的附件内容. asp.net代码如下: //用FileUpload控件,上传附件之后,导入数据库操作 protected void btnUp_Click(object sender, EventArgs e) { DbSql db = new DbSql(); //数据操作类 string fileName = &q