没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|其它|编辑:郝浩|2008-01-15 09:38:18.000|阅读 1375 次
概述:
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
前一阵子因为忙着TechED以及项目开发,很久没有到上面来踏一脚 。今天忙里偷闲,让我们继续我们的用.NET开发Silverlight应用程序的入门系列。今天的主题比较简单,也是最后一个和XAML直接相关的主题:Silverlight中不同类型的画刷和变形。因为这两个属性变化多端,进一步了解一下可以帮助我们更好的理解Silverlight中的XAML。
A. 画刷(Brush)
画刷用于对图形对象进行填充。最主要的画刷属性是Fill和Stroke。Fill用于对对象进行填充,而Stroke用于对线条进行填色。对于Fill和Stroke,Silverlight中又进一步定义了几种不同填充方式:SolidColorBrush,LinearGradientBrush/RadialGradientBrush,ImageBrush,和VideoBrush。
1. SolidColorBrush
表示填入某个单一的颜色。这是默认的填充方式。我们既可以用颜色名来直接指定颜色,也可以用颜色代号(如#FFFFFF 或 #FFFFFFFF等)来定义更多的颜色。在Silverlight中一共定义了141种颜色的名字,如Blue、Red、Green等等。以下两种代码其实是等价的:
<Rectangle Width="200" Height="150" >
<Rectangle.Fill>
<SolidColorBrush Color="Black" />
</Rectangle.Fill>
</Rectangle>
或者:
<Rectangle Width="200" Height="150" Fill="Black" />
2. LinearGradientBrush/RadialGradientBrush
这两个都是渐变色的画刷。前者是线性渐变,而后者是放射性渐变。两者的语法相近,都需要用GradientStops这个属性来定义不同颜色的渐变点。而LinearGradientBrush中还需要通过StartPoint和EndPoint来定义起止点。
LinearGradientBrush:
<Rectangle Width="200" Height="150">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<LinearGradientBrush.GradientStops>
<GradientStop Color=“Blue" Offset="0" />
<GradientStop Color="Black" Offset="1" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
显示结果如下:
RadialGradientBrush:
<Rectangle Width="200" Height="150" >
<Rectangle.Fill>
<RadialGradientBrush>
<RadialGradientBrush.GradientStops>
<GradientStop Color="Red" Offset="0" />
<GradientStop Color="Black" Offset="1" />
</RadialGradientBrush.GradientStops>
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
结果如下所示:
3. ImageBrush
当然,除了给对象直接填充颜色,我们还可以使用图片作为其背景。所使用的画刷类型是ImageBrush。使用方法大致如下:
<Ellipse Width="200" Height="75" >
<Ellipse.Fill>
<ImageBrush
ImageSource="http://.../XBox360Logo.jpg" />
</Ellipse.Fill>
</Ellipse>
显示结果如下:
4. VideoBrush
在Silverlight中,我们还可以使用VideoBrush把视频作为动画背景。实现方式同样很简单:
<MediaElement x:Name=“MyVideo” Source=“Video.wmv” IsMuted=“true”/>
<Ellipse Width="200" Height="75" >
<Ellipse.Fill>
<VideoBrush SourceName=“MyVideo”/>
</Ellipse.Fill>
</Ellipse>
B. 变形(Transform)
Silverlight里几乎所有的元素都支持变形操作。常见的变形操作有如下几个。为了更好的说明每一类的变形效果,请先记住下面这张脸:)
旋转变形:<RotateTransform/>
缩放变形:<ScaleTransform/>
扭曲变形:<SkewTransform/>
移动变形:<TranslateTransform/>
该变形使图形的位置发生变化。
组合变形:<MatrixTransform/>
使用该元素可以使图形同时进行缩放、扭曲,以及移动变形。
下面是两段示例代码:
进行单一的变换:
<TextBlock Text="Hello World">
<TextBlock.RenderTransform>
<RotateTransform Angle="45" />
</TextBlock.RenderTransform>
</TextBlock>
进行一组的变换:
<Canvas x:Name="Content" Width="500" Height="500">
<TextBlock FontSize="24“>Button still works!</TextBlock>
<mybutton:Button Text="Push Me" Canvas.Top="50" />
<Canvas.RenderTransform>
<TransformGroup>
<RotateTransform Angle="45"/>
<SkewTransform AngleX="45"/>
</TransformGroup>
</Canvas.RenderTransform>
</Canvas>
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:个人博客面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号