`
lbblog
  • 浏览: 12755 次
文章分类
社区版块
存档分类
最新评论

基于VML/SVG配电站接线系统的开发

 
阅读更多

近几年来,随着Internet的迅猛发展,网页技术日新月异,人们都试图设计出精美、有特色的页面。其中,图形技术发挥着至关重要的作用,可升级 矢量图像( SVG, Scalable Vector Graphics)和VML (Vector Markup Language)的产生有着十分积极的意义。它具有支持矢量图和动画、由文本构成图形易于操作、对点阵图形兼容等特点。然而,不同浏览器对两种标准的支 持并不一致, 微软的IE浏览器系列对VML支持比较好,而其他的浏览器软件对SVG标准支持更完美。这也使得开发基于Web的图形系统变得更加复杂。多比图形控件出现简化了的这种开发难度,它是一款基于Web的矢量图形控件,能够检测浏览器类型,自动选择VML或SVG方案进行做图, 类似于网页上的Visio控件。

 

多比设计器演示

 

针对电力系统的需要,可将多比中间件技术用于配电站接线图的绘制及发布。多比编辑工具在提供友好界面的同时,提供了大量配电站元件图元,可以轻松、直观、方便、快捷地完成配电站接线图的制作。

 

1  多比控件技术概述

1. 1 VML技术

VML (VectorMarkup Language)是XML1. 0 的一个应用,使用VML 可以在IE 5. 0 以上版本中绘制矢量图形。由于VML 是基于新一带网络标记语言XML 标准的,也就是说,表示方法简单,易于扩展,数据与表现相分离,同时VML 支持高质量的矢量图形显示,它基于相连接的直线和曲线描述路径。其次VML 由文本构成,可以很方便地融合到HTML文件中,可用很少的字节来表示较复杂的图像,可以和其它HTML元素一样使用VML元素,在客户端浏览器显示图 像。VML可以使用DHTML大部分属性和事件,如id, onmouseover等。最后VML 的功能不只是绘图,它可以在图形中嵌入文本,并可实现超链,通过脚本控制还可以实现动画效果。

1. 2 SVG技术

SVG是由W3C制定的基于XML来描述二维矢量图型的一个开放标准,它用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。它具有以下优点:

1.图像文件可读,易于修改和编辑。

2.与现有技术可以互动融合。另外, SVG文件还可嵌入JavaScript脚本来控制SVG对象。

3.SVG图形格式可以用来动态生成图形。例如,可用SVG动态生成具有交互功能的地图,嵌入网页中,并显示给终端用户。

4. 如前所述, SVG文档作为一种规范的XML文档,能够很好地与W3C其他开放标准如DOM, CSS,XSL, XL ink, Xpointer, SM IL, HTML, XHTML等进行协同工作,简化异质系统间的信息交流,方便数据库的存取。

 

1. 3 多比控件简介

多比图形控件出现简化了的这种开发难度,它是一款基于Web的矢量图形控件,能够检测浏览器类型,自动选择VML或SVG方案进行做图, 类似于网页上的Visio控件,是目前国内外最佳的基于web矢量图解决方案,可以用于电力、化工、煤炭、工控组态软件、仿真、地理信息系统、工作流、复杂报表 工业SCADA系统、ERP流程设计系统、图形管理、图形拓扑分析、GIS地理信息系统系统、工程制图等领域。

多比图形编辑器实现了图形、图像和文字的有机统一。它除了支持 HTML 中常用的标记,如文本、图像、链接、交互性、CSS的使用、脚本( Scrip t)外,还提供了大量针对图形、图像、动画的特定标记。对SVG图形文件进行编辑管理的过程为: SVG图形文件经XML 解析器打开,并在内存中生成一个对象树,用鼠标事件来驱动脚本执行,脚本通过DOM接口对对象进行相关的操作,来实现图形绘制、编辑等功能。

多比设计器演示

 

2.在配电站接线图中的应用

配电站接线图是一种特定的复杂而又有规则的图形,可以采用SVG技术绘制配电站接线图。它基本由一些固定的电气元件组成(或称为图元) ,这些图元有其固定的表现形式。该SVG编辑工具不仅提供了一个界面友好、方便使用的编辑环境,而且可以提供大量配电站电气元件图元,这样可以实现SVG 文件格式存储,轻松完成配电站接线图的制作。

    传统的ActiveX控件实现的方式有许多缺点:客户端的部署很困难,如客户端不能正确下载,下载了以后不能正确执行,下载的时候需要设置IE的安全级别等等.

 

3  实现图形编辑功能与操作

SVG图形编辑系统应用在电力系统接线图的绘制时,除了最基本的绘制与编辑功能外,还需要考虑到电力系统绘图的实际需要,设置不同的功能实现接线图更方便的绘制,如不同型号的电力线的选择、基本图元的选取等。对于不同型号的电力线选取,以粗度为0. 5 cm

线条的绘制为例,以示意方式区别普通的黑色线条。

 

图中,工具栏Design中变压器图案,表示点击后对变压器图元的绘制。点击图元后,矩形框变为红色表示选中,由图元可绘制出变压器的图形元件。编辑系统可以实现对元件图元进行适当的修改,如放大、缩小、平移、删除等。

以平移为例,对SVG图形编辑系统的功能和操作进行简单说明。

点击工具栏Tools中的箭头图案,矩形框变为红色,表示选中平移功能;按住鼠标左键,拖拽鼠标.

分享到:
评论

相关推荐

    基于VML和SVG的工作流程动态展示实现

    "基于VML和SVG的工作流程动态展示实现" 提供了一种有效的方法来可视化这些复杂的业务逻辑。接下来,我们将深入探讨这两个核心技术以及如何将它们应用于工作流程的动态展示。 **VML (Vector Markup Language)** 是一...

    基于VML与SVG的矢量图形构架.pdf

    基于VML与SVG的矢量图形构架 在计算机应用领域,矢量图形构架是一个非常重要的技术领域。基于VML(Vector Markup Language)与SVG(Scalable Vector Graphics)的矢量图形构架是当前研究的热点之一。本篇文章将对...

    VML和SVG矢量图形库

    在网页设计和开发中,矢量图形是一种重要的视觉表现形式,因为它们可以无损缩放,保持清晰的边缘,无论放大多少倍都不会失真。VML(Vector Markup Language)和SVG(Scalable Vector Graphics)是两种主要的XML-...

    Javascript + VML + SVG 工作流设计器

    JavaScript,VML和SVG是网页开发中的重要技术,用于创建丰富的图形和交互式用户界面。在这个“Javascript + VML + SVG 工作流设计器”项目中,它们被巧妙地结合在一起,构建了一个强大的工作流设计工具。 ...

    js+vml曲线图代码.rar

    以前发布过一个asp+vml曲线图代码,现在看到一个js+vml曲线图代码 <HTML xmlns:v="urn:schemas-microsoft-com:vml"xmlns:o="urn:schemas-microsoft-com:office:office"> ... charset=gb2312" /> 曲线</title> ...

    SVG、CANVAS、VML比较

    SVG、CANVAS、VML是三种用于在Web上创建矢量图形的方法,它们各有优缺点,适应不同的场景需求。 SVG(Scalable Vector Graphics)是一种基于XML的开放标准,被广泛支持,尤其在现代浏览器中,如Firefox和Opera。在...

    基于VML技术的森林资源分布图更新方法研究.pdf

    本文主要研究基于VML技术的森林资源分布图更新方法,并设计了一种基于B/S结构的森林资源分布图动态更新显示系统。该方法可以实时生成森林资源分布图,提供直观的图像信息,以便于管理人员更好地管理森林资源。 VML...

    Web SCADA 电力接线系统图

    在电力、油田燃气、供水管网等工业自动化领域 Web SCADA 的概念已经提出了多年,早些年的 Web SCADA 前端技术大部分还是基于 Flex、Silverlight 甚至 Applet 这样的重客户端方案,在 HTML5 流行前 VML 和 SVG 算是...

    SVG2VMLv1_1.js

    SVG装换为VML的Javascript

    vml开发的流程图

    在这个"vml开发的流程图"项目中,我们可以看到开发者使用JavaScript与VML结合来创建动态和交互式的流程图。 JavaScript是Web开发中的脚本语言,它负责增加网页的动态功能和交互性。在描述中提到的“javascript+vml...

    svg和vml实现的拓扑图

    SVG(Scalable Vector Graphics)和VML(Vector Markup Language)都是用于在网页上创建矢量图形的技术。在本文中,我们将深入探讨这两种技术如何应用于实现兼容所有浏览器的网络拓扑图,以及如何处理大量节点的显示...

    DIV+JS画图,DIV与DIV之间的连线!

    实现DIV与DIV之间的连线,工程...我封装了一个基于vml/svg画线条的跨浏览器的函数 用法: var g = new FlowGraphic(); var arrow = g.drawArrow(5,26,200,300,"red"); var arrow = g.drawArrow(5,26,200,200,"red");

    基于Vml的可视化流程配置程序

    本文将深入探讨基于Vml的可视化流程配置程序,以及与之相关的ExtJS框架。 首先,让我们理解“Vml”是什么。Vml全称为Vector Markup Language,是一种用于在网页上显示矢量图形的标记语言。它类似于SVG(Scalable ...

    HighchartsJS是一个基于SVG和VML渲染的JavaScript图表库

    这个库支持SVG(Scalable Vector Graphics)和VML(Vector Markup Language)两种渲染方式,确保在各种浏览器中都能提供出色的图表显示效果,包括对旧版IE浏览器的支持。在本文中,我们将深入探讨Highcharts JS的...

    VML极道教程 vml学习

    VML是为了在Internet Explorer浏览器中提供矢量图形支持而开发的,它允许开发者创建清晰、可缩放的图形,这些图形在任何分辨率下都能保持高质量。由于VML是基于XML的,所以它具有良好的结构化和可扩展性,使得图形...

    VML极道教程+VML开发工具

    **VML极道教程+VML开发工具** VML,全称Vector Markup Language,是一种基于XML的标记语言,用于在网页上绘制矢量图形。本教程结合开发工具的提供,旨在帮助学习者深入理解和掌握VML技术,从而在网页设计和开发中...

    基于VML的IE绘图软件的设计与实现.pdf

    总之,基于VML的IE绘图软件设计与实现,是利用VML的矢量图形能力、JavaScript的动态编程特性和DOM的页面操作接口,开发出的一款能够在线编辑和发布矢量图形的工具,它解决了在互联网上高效处理和展示矢量图形的问题...

    史上最强VML开发工具

    VML,全称Vector Markup Language,是一种用于在网页上呈现矢量图形的标记语言。...尽管SVG已成为主流,但了解和掌握FlashVml的历史与应用,对于我们理解Web发展史和提升跨平台开发能力仍然具有重要的参考价值。

Global site tag (gtag.js) - Google Analytics