原文链接:http://www.insideria.com/2008/03/degrafa-datagrids-visual-displ.html
If you are a Flex developer, and you haven't checked out Degrafa yet, you should. Degrafa is an open source declarative graphics framework for Flex. It allows you to easily create complex shapes, patterns, skins, gradients, strokes, etc... without intimate knowledge of the drawing API. The framework allows you to do some really cool things, without a lot of code. Kudos to the Degrafa team for their efforts.
I decided to try out Degrafa on a concept from one of my Cynergy blog posts: "Thinking Outside Of The Grid", from last May. Datagrids are great for displaying tabular data. With a little creative coding, you can turn them into dynamic charting components. Here's a quick example of what can be done with a Flex datagrid, Degrafa, and some time to kill.
View this demo full screen at:
http://www.tricedesigns.com/portfolio/degrafadatagrid/main.html
This example doesn't cover the broad range of renderers shown in my previous post, however Degrafa helped make the code for this simple enough for anyone to duplicate.
I used Degrafa to create bar-chart representations of data displayed within a datagrid. Its quite simple actually... I created datagrid item renderers that use degrafa to dynamically draw a rectangle that represents disk usage. The code is pretty simple actually. You just create a fill style, then declare a rectangle that uses the fill. The width of the rectangle is dynamcially calculated based on the available width of the item renderer, and the calculated values. All of the calculation is done within data bindings, thus making the code very simple.
<mx:DataGridColumn headerText="Free" dataField="free">
<mx:itemRenderer>
<mx:Component>
<mx:Canvas>
<degrafa:Surface>
<degrafa:fills>
<paint:LinearGradientFill id="greenGradient" angle="90">
<paint:GradientStop alpha="1" color="#00FF00"/>
<paint:GradientStop alpha=".5" color="#333333"/>
</paint:LinearGradientFill>
</degrafa:fills>
<degrafa:GeometryGroup>
<geometry:RoundedRectangle
fill="{greenGradient}"
cornerRadius="0"
width="{ width * ( data.free / data.capacity ) }"
height="{ height }" />
</degrafa:GeometryGroup>
</degrafa:Surface>
</mx:Canvas>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
You can view this demo full screen at:
http://www.tricedesigns.com/portfolio/degrafadatagrid/main.html
You can view the source code at:
http://www.tricedesigns.com/portfolio/degrafadatagrid/srcview/index.html
You can download the source code at:
http://www.tricedesigns.com/portfolio/degrafadatagrid/Degrafa Datagrid.zip
分享到:
相关推荐
DEGRAFA,全称为“基于SVG的矢量图形绘制框架”,是一个开源的、基于SVG(Scalable Vector Graphics)标准的图形绘制工具包,主要应用于Java平台。它为开发者提供了丰富的API,使得在Java应用程序中创建、编辑和展示...
Degrafa是一款强大的图形绘制工具,专为Adobe Flex开发者设计,用于在Flex应用程序中创建复杂的矢量图形。这款工具的核心是其灵活的图形系统,它允许开发者通过代码控制图形的每一个细节,从而实现动态和交互式的...
Degrafa 3.1 源码是一个用于FLEX应用程序开发的图形库,它提供了丰富的SVG(可缩放矢量图形)支持,使开发者能够创建复杂、动态且交互式的图形用户界面。在这个源码包中,我们主要关注的是如何使用 Degrafa 与 FLEX ...
flex开发的画图框架Degrafa 近来需在flex画些简单的图形,根据朋友推荐使用了Degrafa,但是官方没有提供离线的文档下载,于是自己制作了一下。 文档的所有版权均属http://www.degrafa.com 详细情况请查看degrafa的...
Degrafa's Fills是一个在Flex开发中用于图形渲染的开源库,它为开发者提供了丰富的图形填充效果。这篇博文的作者分享了如何将 Degrafa 的填充功能集成到其他Flex项目中的方法,通过一个名为“sign05.mxml”的示例...
Degrafa是一款强大的图形绘制库,专用于在JavaFX平台上创建复杂的矢量图形。它提供了一个灵活的声明式模型,使开发者能够轻松地定义和操纵矢量图形,类似于SVG(可缩放矢量图形)标准。这篇博文"Degrafa画矢量曲线...
flex开发的画图框架Degrafa 近来需在flex画些简单的图形,根据朋友推荐使用了Degrafa,但是官方没有提供离线的文档下载,于是自己制作了一下。 文档的所有版权均属http://www.degrafa.com 详细情况请查看degrafa的...
Degrafa是一个图形化开发框架,它主要用于创建2D图形应用程序,特别是在Swing或JavaFX平台上。这个资源包包括了SDK的4.0兼容版本,这意味着你可以利用这个框架来开发与Java SDK 4.0相适应的应用。"含SDK4.0兼容版本...
DeGrafa是一款强大的开源绘图工具,专为创建和编辑SVG(Scalable Vector Graphics)图形而设计。SVG是一种基于XML的矢量图像格式,它允许开发者创建清晰、高质量的图形,无论放大多少倍都不会失真,广泛应用于网页...
Degrafa是一款强大的图形化开发框架,主要用于创建2D矢量图形和交互式应用程序。它在Beta3版本中提供了一些先进的特性和改进,为开发者带来了更丰富的功能和更好的用户体验。这款开源工具允许开发者通过编程方式设计...
2. ** Degrafa图形API**: Degrafa 提供了一系列的图形类,如PathElement、Group、Shape等,可以创建和操作矢量图形。你需要把这些解析出来的SVG数据映射到 Degrafa 对象上,比如将SVG路径数据转化为PathElement对象...
Degrafa扩展就是在FLEX中增加了对矢量数据的动态处理,包括动态添加,删除和修改,并支持SVG的路径格式数据, 因此只需要对现有的SVG数据进行一些必要的转换(以后会有工具支持,但现在只能手工完成),就可以将SVG...
在DEGRAFA中,SVG路径的使用是一个重要的主题,DEGRAFA是一个ActionScript 3.0库,专门用于图形渲染和矢量图形操作。 SVG路径由一系列命令和参数构成,这些命令指示浏览器如何绘制路径。主要的命令包括M(移动到)...
使用了“shade”和“degrafa”,这两个是ActionScript和Flex开发中的图形库和框架。 “shade”是一个图形效果库,它提供了丰富的视觉特效,如阴影、渐变、模糊等,可以用来增强用户界面的立体感和动态效果,使登录...
基于Actionscript3.0,强大的矢量图形绘制类库
这里是源代码,但需要借助另外的开源框架Degrafa。我用的是Degrafaflex4.swf。 这里我直接将degrafaflex4.swf和birdeye本身自己写的vis打成一个swf文件。即birdeyelib.swf。 做图形报表框架直接用birdeyelib.swf即可...
在Flex3中, Degrafa是一个图形库,专为创建复杂的矢量图形和图表而设计,尤其适用于制作流程图。 流程图是表示工作流程或系统操作过程的图形表示法,它通过标准化的图形符号来展示步骤和决策点。在Flex3中,利用 ...
使用 Degrafa 框架,可以在 Flex 应用程序中动态显示和操作 SVG 文档。通过解析 SVG 文件,然后通过 Flex 生成图片。动态加载 SVG 图片可以实现大量的 SVG 图形资源直接在 Flex 应用程序中使用。 三、解析 SVG 文件...