`
need_faith
  • 浏览: 82101 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【原创】一个简单的SVG在线图形编辑器

    博客分类:
  • SVG
阅读更多

需求 

      根据现在监控项目需要,对应用维护的资源组件(主机、数据库和中间件服务器)可有用户按照自己的业务系统,将相关的资源组件放到一个视图里面查看监控数据,资源在一个视图里如何放置,是星型辐射还是树形组织结构很难把握,所以想做一个在线的图形编辑器,类似微软VISIO的画图工具,选取组件连线即可完成。

     

实现技术

      SVG、EXT 2.0

 

方法

      我在写这个模块的时候尚未找到可以很好支持SVG图形拖拽等复杂操作的JS库,所以,很笨的,对SVG图形的创建图形、删除图形、拖拽、画连接线、删除连接线等都是一个个鼠标事件句柄函数,为了将零散的JS代码块尽量结构话,遵循面向对象的原理,控制EXT布局的功能在layoutController.js定义的全局静态对象LayoutController完成,控制SVG图形创建、退拽的动作的功能在svgController.js定义的全局静态对象SVGController完成,这两个主要的对象使用了JS闭包,模拟高级编程语言的权限控制,使得拥有类似public和private类似的权限访问,所以在后面涉及相互应用对象和对象中的局部变量时,需要使用相应的getter方法,为了减少getters和setters,使用了handle和localVariant两个变量封装。

 

尚未完成的部分

      1 资源组件冒泡明细

             冒泡提示框已经做完,具体内容可以从数组对象中获取,将明细等填充进去

      2 存储图形

             思路已经想好,SVG图形在SVGController对象中以componentArray保存在数组中,连线以lineArray保存在数组中,而且这些数据都是JS对象,可以使用JSON数据格式编码保存于服务器端,从新读取数据库保存的该图形的JSON数据,前台可以还原。

 

界面

   

 

 

 

 

PS

     由于本身不是做美工的,所以SVG图片所代表的资源组件显得很拙劣,请勿见笑。

     代码和界面请在附件下载,需要使用AJAX从后台获取的数据改为从本地JSON文件中读取,实际使用过程中为url,将源码包放置于TOMCAT应用下,url地址设置为http://localhost:8080/BusinessTopology/carrier.jsp即可访问

 

 注:本博客文章均已注明原创和转载,如转载本博客文章,需注明原文出处或征求原作者同意。

 

2
0
分享到:
评论
4 楼 ansly20060 2012-09-25  
怎么用啊??
打开了没有反映
3 楼 need_faith 2011-10-19  
liang3331 写道
源代码里 少 layoutController.js

刚才我查看了,有layoutController.js,如果还有问题,请讲你的邮箱发送给我,我讲源代码发送到你的邮箱里面,我的QQ 277453122
2 楼 liang3331 2011-10-18  
源代码里 少 layoutController.js
1 楼 霸王降临 2011-05-04  
好牛逼的东西..

相关推荐

    100 X 2 超级英雄图标 .svg素材下载

    SVG文件可以直接在支持XML的图形编辑软件(如Adobe Illustrator、Inkscape)中打开和编辑,也可以通过代码编辑器查看和修改XML结构。 设计师在使用这些图标时,可以结合CSS和JavaScript实现动态效果,如动画、鼠标...

    100个矢量插画元素illlustrations .eps .svg .png素材下载

    设计师可以在HTML或CSS中直接嵌入SVG代码,或者使用SVG编辑器进行修改。 3. **PNG(Portable Network Graphics)格式**:PNG是一种无损压缩的位图格式,特别适合透明效果的处理。虽然PNG不具备矢量图的无限缩放特性...

    图片、logo、符号设计软件

    2. **矢量编辑**:支持矢量图形编辑,这意味着设计可以无损放大,适用于各种尺寸的展示。 3. **形状工具**:提供多种几何形状和预设图标,便于构建图形元素。 4. **文字工具**:支持添加和编辑文本,可调整字体、...

    网页设计资源

    - **CodePen**:在线代码编辑器,用于快速测试前端代码片段。 7. 优化与性能: - **SEO**:搜索引擎优化,提高网站在搜索结果中的排名。 - **速度优化**:减少HTTP请求、压缩代码和图片,提升网页加载速度。 - ...

    DesignEmpire 公司模板

    3. **Bootstrap 框架**:Bootstrap 是一个广泛使用的前端开发框架,它包含了一系列预设的样式和组件,有助于快速搭建响应式和移动优先的网站。如果DesignEmpire5模板基于Bootstrap,那么用户将受益于其易用性和可...

    Gruntreaper

    Grunt 是一个JavaScript任务运行器,广泛应用于自动化前端开发中的各种任务,如编译Sass或Less到CSS,压缩JavaScript和图片,以及构建工作流程。因此,"Gruntreaper"这个名字可能意味着这是一个使用Grunt来管理和...

    卡图标工具

    6. **遍历器.exe**:这个文件名可能是程序的一部分,可能是一个用于遍历和管理图标库的实用工具,帮助用户快速浏览、查找和组织已创建的图标。 7. **小晨卡图标3.2.exe**:这可能是“卡图标工具”的可执行文件,...

    好用的画图工具

    6. **编辑与保存**:用户应能对已绘制的内容进行移动、旋转、缩放等操作,并能以常见的图像格式(如PNG、JPEG、SVG等)保存作品,便于分享和后续处理。 7. **屏幕截图与录制**:有时,用户可能需要结合屏幕截图来...

    ico图标打包下载

    3. **制作ico图标**:你可以使用图形编辑软件,如Adobe Photoshop或免费的在线工具,将PNG、JPEG或其他图像格式转换为ico格式。转换时需要确保生成不同尺寸的版本,以适应不同的显示需求。 4. **使用ico图标**:在...

    flash反编译软件

    "访问Cyes.cn获取更多优秀资源.url"可能指向一个网站,提供有关Flash反编译的教程、资源库或其他相关工具。访问这样的平台可以帮助你进一步提升技能,解决在使用反编译软件过程中遇到的问题。 总结来说,Flash反...

    韩国卡通乐园网站模板

    这类模板通常包含一系列预先设计的页面布局、图形元素、色彩方案和交互效果,旨在为儿童娱乐、教育或者与卡通相关的业务提供一个吸引眼球且用户友好的在线平台。 在设计上,韩国卡通乐园网站模板会融合韩国文化的...

    Firespider 09 Icon Package-开源

    "Firespider 09 Icon Package" 是一个开源项目,主要提供了一套图标资源,用于增强用户界面的视觉体验。这个图标包专为 Firespider 09 设计,适用于 Windows 和 Linux 操作系统,使得用户在使用该软件时能够享受到...

    精美卡通图标下载

    用户在下载后,可以使用图像查看器或编辑工具打开和使用这些图标,或将它们应用于自己的设计项目中。在实际使用时,需要注意版权问题,确保所使用的图标没有侵犯到原创作者的权益。 在资源管理和应用方面,用户应当...

    hildemorin:hildemorin.com基于雨果的网站

    【标题】"hildemorin.com基于雨果的网站" 涉及的主要知识点是 Hugo,一个流行的静态网站生成器,以及与之相关的前端开发技术。Hugo 是一款用 Go 语言编写的开源工具,它能快速、高效地生成静态网页,特别适合个人...

    GOAL-UI:该网站是使用 HTML 和 CSS 创建的

    HTML5是当前广泛采用的版本,引入了许多新功能,如本地存储、媒体元素、SVG图形等,提升了网页的互动性和可访问性。 **CSS(Cascading Style Sheets)** CSS用于控制网页的布局和视觉样式。通过选择器(如类名、ID...

    heu-kevin.github.io

    标题 "heu-kevin.github.io" 暗示这是一个个人或项目在 GitHub 上的静态网页站点,由用户 heu-kevin 创建并维护。描述中的相同内容表明它可能是一个简洁的网页,专注于展示个人作品、博客文章或者特定项目的详细信息...

    网站推广活动网页模板

    总的来说,创建一个成功的网站推广活动网页模板需要综合考虑设计美学、用户需求、技术实现和市场策略等多个方面。通过不断学习和实践,可以打造出既美观又高效的网页模板,助力网站推广活动取得成功。

Global site tag (gtag.js) - Google Analytics