HTML5流程图之矢量可伸展workflow

2024-02-10 05:48

本文主要是介绍HTML5流程图之矢量可伸展workflow,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

互联网购物成了当今非常热门的话题,各种购物网站,手机APP如雨后春笋般涌现出来。什么买衣服,买水果,买米,买油都得到了解决,自从有了这些app,再也不用去超市排着超长的队伍,扛着超重货物,骑着超累的车子了。之前每出一趟门买东西简直是跟参加了一场马拉松似的,现在好了,直接送货到家。那么在购物的背后又有什么样的流程呢,今天我们给大家介绍的是TWaver的另一款流程图。
说到TWaver的流程图却是层出不穷,千姿百态。2D的,3D的,静态的,动态的。这次要给大家呈现的是一款全矢量的,非常清新优美的流程图。先给大家看看效果:


看到这样的图,是不是觉得不就是用了几张贴图嘛,如果这样想,那么你对twaver还是有所了解的。前面我们已经提到了,这是一款全矢量的流程图,这里可没有用到任何贴图哦,下面这些网元都是矢量描述出来的,缩放不失真。接下来我们就来介绍一下如何矢量描述这些网元呢?


 

 


这里我们以第一个为例,来介绍如何用矢量来描述这个元素,首先我们需要画一个圆角正方形,并且颜色是稍微带点渐变色,我们这里采用了线性渐变,中间是灰色,两边白色,代码如下:

twaver.Util.registerImage('process', {w: 48,h: 42,lineWidth:1,lineColor: '#848484',v: [{shape: 'rect',w: 42,h: 36,x: -21,y: -18,r: 4,gradient: {type: 'linear',x1: 0,y1: -25,x2: 0,y2: 25,stop: [{offset: 0,color: 'white'},{offset: 0.4,color: '#D8D8D8'},{offset: 1,color: 'white'}]}}]});



看下运行后的效果:




接着按照这种方式画中间的橙色小方块,一样的道理,也是中间画个圆角矩形,用了橙色的渐变:

{shape: 'rect',w: 36,h: 30,x: -18,y: -15,r: 3,gradient: {type: 'linear',x1: 0,y1: -20,x2: 0,y2: 25,stop: [{offset: 0,color: 'white'},{offset: 0.4,color: '#B45F04'},{offset: 1,color: 'white'}]}}



最后就是中间几条线了,可以采用path来描述,自己画出每个像素点,代码如下:

{shape: 'path',data: 'M-12,-8l4,0m2,0l12,0M-9,-3l4,0m2,0l12,0M-6,2l4,0m2,0l12,0M-9,7l4,0m2,0l12,0',lineWidth: 1.5,lineColor: '#F2F2F2',}



写到这里,你会不会觉得怎么现在弄个矢量的图片这么复杂,像素啥的还要自己来算。如果什么都自己干,那么自己是不是也可以当美工了。哈哈哈,如果你觉得可以,一些简单的美工活是不用求别人了,自己也能干。但是如果你觉得复杂,也可以直接用美工提供的svg图片,通过twaver的转换器直接转换出上面的这些代码。

矢量图片先讲到这里,我们再来看link上是如何画出一个箭头的,就是下面的这种效果:

这里我们用到了link的icon附件,link上icon的附件也可以用矢量哦,是不是很赞:

link.setStyle('icons.names', ['link_arrow']);



这里的'link_arrow'就是我们注册的矢量图片名称。
加了连线的矢量,连线的走向也需要自己定义一下。这里通过linkpath来定义,network上提供了设置linkpath的方法:

network.setLinkPathFunction(createLinkPath);



连线的走向我们这里采用了先水平后垂直的方式,也可以加上水平的偏移的值,这样我们可以控制连线的拐点。



双击展开,合并动画
这款流程图,最大的特点是可以合并展开子流程,并可以指定合并时收起哪些点,合并后的效果如下:


这样流程图就会清晰很多,如果不想看中间复杂的子流程合并起来就可以了。

这里的我们录制了一个视频供大家欣赏:

http://player.youku.com/player.php/Type/Folder/Fid/23725124/Ob/1/sid/XOTQwODMzMjky/v.swf


感兴趣的朋友可以发邮件到tw-service#servasoft.com,我们会将完整代码呈现给您。

 

这篇关于HTML5流程图之矢量可伸展workflow的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/696264

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

css渐变色背景|<gradient示例详解

《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

详解如何在React中执行条件渲染

《详解如何在React中执行条件渲染》在现代Web开发中,React作为一种流行的JavaScript库,为开发者提供了一种高效构建用户界面的方式,条件渲染是React中的一个关键概念,本文将深入探讨... 目录引言什么是条件渲染?基础示例使用逻辑与运算符(&&)使用条件语句列表中的条件渲染总结引言在现代