UI和功能是好的产品的两个重要因素,很多产品往往只注重功能上的设计,而忽略了UI。在这个“看脸”的时代,就算产品的功能很强大,如果UI跟不上步伐,你的产品都会在客户心中大打折扣。
做安全和监控的项目中经常会进行扫描,一般会用一个gif图片来表示软件正在进行扫描,但是如果想更换这个图标的样式,就需要美工重新做图。TWaver提供了动画效果,如果对图标的动画样式不满意,可以通过简单的更改程序来实现,避免了美工的二次返工,提高了效率。切入正题,看我们怎么实现一个动画的雷达扫描图,首先注册一个图片,用HTML5的canvas画了一个静态的雷达图,如果你熟悉TWaver的话,下边这段代码应该不难。如果不熟悉的话,可以参考产品文档自定义绘制(draw)这一节的内容。
twaver.Util.registerImage('radar', { v: [ { shape: 'draw', draw: function (ctx, data, view) { var canvas = this.canvas, g = this.g, gradient = this.gradient, diameter = Math.floor(data.getWidth() * view.getZoom()), radius = diameter / 2, hueStart = 120, hueEnd = 170, hueDiff = Math.abs(hueEnd - hueStart), width = diameter, height = diameter; if (!canvas) { this.canvas = canvas = document.createElement('canvas'); } if (width !== canvas.width || height !== canvas.height) { canvas.width = diameter; canvas.height = diameter; this.g = g = canvas.getContext('2d'); this.gradient = gradient = g.createLinearGradient(radius, 0, 0, 0); gradient.addColorStop(0, 'hsla(' + hueStart + ', ' + 50 + '%, ' + 40 + '%, 1)'); gradient.addColorStop(1, 'hsla(' + hueEnd + ', ' + 50 + '%, ' + 40 + '%, 0.1)'); } g.globalCompositeOperation = 'destination-out'; g.fillStyle = 'hsla(0, 0%, 0%, 0.1)'; g.fillRect(0, 0, width, height); g.globalCompositeOperation = 'lighter'; var i; for (i = 0; i < 4; i++) { g.beginPath(); g.arc(radius, radius, ((radius - 1) / 4) * (i + 1), 0, Math.PI * 2, false); g.strokeStyle = 'hsla(' + (hueEnd - (i * (hueDiff / 4))) + ', ' + 50 + '%, ' + 40 + '%, 0.1)'; g.lineWidth = 3; g.stroke(); }; g.beginPath(); g.moveTo(radius - 1, 2); g.lineTo(radius - 1, height - 2); g.moveTo(2, radius - 1); g.lineTo(width - 2, radius - 1); g.strokeStyle = 'hsla(' + ((hueStart + hueEnd) / 2) + ', ' + 50 + '%, ' + 40 + '%, .03)'; g.stroke(); g.save(); g.translate(radius, radius); g.rotate(data.getClient('angle')); g.beginPath(); g.moveTo(0, 0); g.arc(0, 0, radius, -0.0349, 0.0349, false); g.closePath(); g.fillStyle = gradient; g.fill(); g.restore(); ctx.scale(1 / view.getZoom(), 1 / view.getZoom()); ctx.drawImage(canvas, -width / 2, -height / 2); } } ] });
接下来给这个雷达图设置一个动态的效果,让雷达图不断的扫描。下边的这段代码设置了雷达指针的扫描角度,持续时间:
new twaver.Animate({ source: node, attr: 'C@angle', from: 0, to: Math.PI * 2, dur: 4000, repeat: Number.POSITIVE_INFINITY, reverse: false }).play(); }
这样一个简单的雷达动画效果就出来了,是不是很简答,如果对这个效果用兴趣的,可以发邮件索取源代码,附上邮箱:jack.shangguan@servasoft.com
相关推荐
”这说明提供的示例不仅包含核心的twaver.js库,还有与之配合的HTML文件“alarm.html”。Jetty是一个轻量级的Java Web服务器和Servlet容器,能够方便地运行Web应用程序。这意味着用户可以直接在Jetty环境下运行这个...
4. **动画效果**:提供丰富的动画效果,如淡入淡出、平滑移动等,增强用户体验。 5. **性能优化**:优化的渲染引擎确保在大量数据和复杂图表时仍保持流畅的性能。 六、示例代码 在`TwaverWeb`目录中,可能包含了多...
10. **自定义样式**:TWaver允许开发者通过CSS和JavaScript自定义图形的样式和视觉效果,以满足特定的设计需求。 通过这个"TWaver的3d图形组件库,小demo",开发者不仅可以学习到如何使用TWaver库创建3D图形,还能...
- **拓扑图组件**:具备丰富的表现形式,例如气泡信息、染色和边框、告警渲染及动画效果等。 - **其他组件**:除了拓扑图组件之外,TWaver还提供了多种传统组件,如树组件、表格、树表格、属性页以及图表(饼图、...
2. `demo.jar`:这是一个包含TWaver演示程序的Java可执行文件,可以直接运行查看TWaver的各种图表和交互效果。 3. `License.txt`:这是授权协议文件,详细列出了使用TWaver开发包的条款和限制,包括商业使用、开源...
Twaver是一个强大的数据可视化和网络建模工具,广泛应用于网络拓扑、流程图、组织结构等场景。5.9.0是该库的一个特定版本,可能包含了新功能、性能优化或错误修复。 描述简单明了,"twaver-html5-5.9.0-api"直接...
3. **自定义扩展**:开发者可以根据需求自定义图形样式、动画效果、事件处理,实现高度定制化的数据可视化。 4. **数据绑定**:Twaver支持与各种数据源(如数据库、CSV文件)进行绑定,动态更新图表内容,实时反映...
- **动画效果**:如何利用Twaver的动画功能实现流畅的视觉过渡。 - **自定义样式**:如何通过CSS或直接设置属性来改变图表的样式和主题。 - **性能优化**:在处理大量数据或复杂图形时,如何优化性能和响应速度。 ...
同时,它也可能涉及到Twaver的各种特性,如图表类型、图形样式、动画效果等。 【压缩包子文件的文件名称列表】"TwaverWeb"表明压缩包中的主要内容可能是一个名为"TwaverWeb"的项目文件夹,里面可能包含以下部分: ...
NULL 博文链接:https://bianrongxin.iteye.com/blog/1474676
此外,TWaver Flex还预定义了丰富的业务对象,如告警(`twaver.IAlarm`)和告警容器(`twaver.AlarmBox`),图层(`twaver.ILayer`)和图层管理容器(`twaver.LayerBox`),以及拓扑网元(`twaver.IElement`)和拓扑...
【标题】"TWaver-java-4.1最新 官网试用版jar包及Demo" 涉及的核心知识点是TWaver,一个基于Java的图形可视化库,主要用于数据的图表展示和交互。这个版本是4.1,是官方提供的试用版,包含jar包和演示示例。 【描述...
5. 动画效果:例如,设备状态变化时可通过颜色变化、闪烁等方式呈现,增强视觉效果。 为了更好地理解TWaver在3D机房管理中的应用,可以查看"demo"文件夹中的内容。这个示例可能包含HTML、CSS和JavaScript文件,展示...
6. **动画和效果**:了解如何添加动画和视觉效果,使可视化更生动、更具吸引力。 7. **API和插件开发**:深入研究Twaver的Java API,学习如何扩展和定制功能,创建自己的插件。 8. **国际化和多语言支持**:如果你的...
Twaver学习案例的例子
8. **动画与过渡**:讲解如何添加动画效果,使图形元素在状态变化时平滑过渡,提升用户体验。 9. **高级特性**:涵盖图表组件,如图例、工具提示、缩放控件等,以及自定义行为、扩展API等进阶功能。 10. **性能...
此外,它可能还会涵盖自定义主题、数据绑定、动画效果以及响应式设计等内容。 3. **TWaver Whitebook.pdf**:白皮书通常是对某一技术或产品的深入解析,可能包含了TWaver的设计理念、核心技术、实际应用场景以及与...
2. **demo.jar**:这是TWaver的演示程序JAR文件,包含了示例代码和预设的可视化效果,用户可以通过运行它来了解TWaver的使用方法和效果。 3. **demo.sh**:这是Unix/Linux系统的脚本文件,与demo.bat类似,用于在...
### Twaver 3.7性能测试报告分析 #### 概述 Twaver是一款由Serva Software开发的强大软件工具,主要用于支持复杂网络环境中的数据管理和处理。本次报告主要针对Twaver Java版本(Twaver Java)在不同节点配置及连接...