博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF/E CTP Quick Start - 第四部分:绘图与填充(翻译)
阅读量:6436 次
发布时间:2019-06-23

本文共 2859 字,大约阅读时间需要 9 分钟。

基础元素
  WPF/E提供了三种基本形状元素:
Ellipse
Rectangle
Line
  • Ellipse元素用于描述一个椭圆或者圆形。您可以通过设置它的WidthHeight属性来分别控制它水平方向和垂直方向的直径。
  • Rectangle元素用于描述一个长方形或者正方形,圆角或直角。你能够通过设置它WidthHeight属性来分别控制它水平和垂直方向上的距离。您也可以通过设置RadiusXRadiusY属性来控制圆角的曲率。 
  • 您可以使用X1Y1X2Y2属性来控制Line元素的尺寸和位置,而不是使用WidthHeight属性。
  下面的示例在
Canvas中分别绘制了一个
Ellipse,一个
Rectangle和一个
Line元素。
 
其它形状元素
  除
Ellipse
Line
Rectangle元素以外,WPF/E还提供了另外三种形状元素:
Polygon
Polyline
Path
Polygon是一个由几条边组成的封闭形状,而
Polyline是由一系列连接线组成,可能封闭也可能没有封闭的形状。下面的例子创建了一个
Polygon和一个
Polyline
  
Path元素能够用来表示一个复杂的形状,包括曲线和弧形。当您使用
Path元素时,您需要使用一些特殊的语法来指定它
Data属性的值。下面的例子创建了三个
Path元素。
  您可以查看WPF/E SDK中的
Path Markup Syntax章节来得到关于Path标记语法的更多信息。
 
使用画刷填充形状
  大多数的形状由两部分组成。“边框(
Stroke)”和“填充(
Fill)”,它们分别可以使用
Stroke
Fill属性进行控制。下面的插图表示了在第一个例子里
Rectangle
Strok
Fill
strokeandfill.png
  不过,并不是每一个形状都有
Fill
Stroke
Line元素只有
Stroke,设置
Line
Fill属性不会有任何效果。 
  您可以使用画刷(Brush)设置一个形状的
Stroke
Fill。有4种类型的画刷可供选择:
  • SolidColorBrush
  • LinerGradientBrush
  • RadialGradientBrush
  • ImageBrush
使用SolidColorBrush填充实心颜色
  为了使用实心颜色来填充一块区域,您可以使用
SolidColorBrush,XAML提供了几种创建
SolidColorBrush的方式。
  • 您可以设置Color属性为指定的颜色名,例如“Black”或“Gray”
  • 您可以设置Color属性为16进制表示的颜色,包括是否透明。您可以使用几种方式:
    • 6位表示法。它的格式为#RRGGBB,其中RR为两位16进制数,用于描述红色所占的分量,GGBB分别描述了绿色所占份量。例如:#0033FF。
    • 8位表示法。它的格式和6位表示法大致相同,唯一的区别则是使用多余的两位描述alpha值,或者说是颜色的透明程度:#AARRGGBB。例如:#990033FF
  • 您可以使用创建元素的方法来显式地创建一个SolidColorBrush并且设置它的Color属性。
  下面的示例使用了多种方法将一个对象填充为黑色。
使用LinarGradientBrush和RadialGradientBrush填充梯度效果
  WPF/E支持线性和放射性的梯度效果。梯度包含了一个或多个“梯度逗留点(Gradients Stop)”用于描述梯度变化中颜色的位置和变化。大多数的梯度只需要两个梯度逗留点,不过事实上您可以添加任意多个。
  • LinearGradientBrush绘制线性的梯度效果。这条线在默认情况下是从被填充对象左上角到右下角的斜线。您可以使用StartPointEndPoint属性来改变这条线的位置。
  • RadialGradientBrush绘制类似于圆形的梯度效果。在默认情况下,这个圆形以填充区域的中心为圆心,您可以通过设置它的GradientOriginCenterRadiusXRadiusY属性来自定义梯度效果。
  您通过创建
GradientStop对象来添加梯度逗留点。您可以通过设置
GradientStop对象的
Offset属性为0到1之间的值,来指定它在梯度中的相对位置。您通过设置
GradientStop对象的
Color属性为颜色名或者16进制表示法来指定颜色。
  下面的示例使用LinearGradientBrush和RadialGradientBrush来填充Rectangle对象。
  您也可以对于一个形状的
Stroke填充梯度效果。
  下面的插图标记了示例中第一个
LinearGradientBrush对象的每一个梯度逗留点。

使用ImageBrush用图片填充对象
  另一种类型的画刷是
ImageBrush。在默认情况下,图片为被拉伸并且填满整个形状,不过您可以使用
Stretch属性来控制拉伸图片的方式。下面的示例使用了两个
ImageBrush对象,为它们的
Stretch属性分别设置不同的值,用以填充两个
Rectangle对象。
 
形状变换
  就像所有的UI元素那样,形状元素能够通过它们的
RenderTransform属性被伸缩、旋转或者变换。
 
本文转自 jeffz 51CTO博客,原文链接:http://blog.51cto.com/jeffz/60432,如需转载请自行联系原作者
你可能感兴趣的文章
整合看点: DellEMC的HCI市场如何来看?
查看>>
联合国隐私监督机构:大规模信息监控并非行之有效
查看>>
韩国研制出世界最薄光伏电池:厚度仅为人类头发直径百分之一
查看>>
中国移动2016年Web应用防火墙集采:绿盟、深信服中标
查看>>
惠普再“卖身”,软件业务卖给了这家鼻祖级公司
查看>>
软件定义存储的定制化怎么走?
查看>>
“上升”华为碰撞“下降”联想
查看>>
如何基于Spark进行用户画像?
查看>>
光伏发电对系统冲击大 “十三五”电力规划重点增强调峰能力
查看>>
全球19家值得关注的物联网安全初创企业
查看>>
Android下的junit 单元测试
查看>>
这几个在搞低功耗广域网的,才是物联网的黑马
查看>>
主流or消亡?2016年大数据发展将何去何从
查看>>
《大数据分析原理与实践》一一第3章 关联分析模型
查看>>
《挖掘管理价值:企业软件项目管理实战》一2.4 软件设计过程
查看>>
Capybara 2.14.1 发布,Web 应用验收测试框架
查看>>
ExcelJS —— Node 的 Excel 读写扩展模块2
查看>>
《数字短片创作(修订版)》——第一部分 剧本创作 第1章 数字短片创意技法 剧本创作的构思...
查看>>
《Python数据挖掘:概念、方法与实践》——1.5节小结
查看>>
《Adobe Illustrator CC 2014中文版经典教程(彩色版)》—第1课1.4节修改图稿的视图...
查看>>