Windows Phone开发(30):图形 转:http://blog.youkuaiyun.com/tcjiaan/article/details/7453028

本文介绍了如何使用WPF进行基本图形绘制,包括矩形、椭圆、线段、多边形及折线的创建方法与属性设置。通过具体示例展示了如何应用填充、轮廓和渐变画刷。

图形如矩形、椭圆、路径等都从Shape类派生,它们一般表示规则或不规则图形,这些图形都是简单的二维图形,我相信大家都能理解的。

例一:矩形。


请看下面的XAML代码。

 

[html]  view plain copy print ?
  1. <Rectangle RadiusX="20" RadiusY="35"  
  2.            Fill="Blue"  
  3.            Canvas.Left="32" Canvas.Top="28"  
  4.            Width="200" Height="156"/>  

 

图形比较适合在Canvas中定位,所以一系列图形的示例我都会放到Canvas中,对于Canvas的布局方式,我前面的文章中已经介绍过了。
Rectangle类表示一个矩形,RadiusX表示矩形圆角在X轴上的半径,RadiusY一样道理,Fill即填充画刷。
Rectangle类还是比较好理解,毕竟它简单。

下面我们再来看一个带轮廓的,并且用渐变画刷填充的矩形。

[html]  view plain copy print ?
  1. <Rectangle Canvas.Left="12" Canvas.Top="210"  
  2.            Stroke="Green"  
  3.            Height="112" Width="223"  
  4.            StrokeThickness="8.5">  
  5.     <Rectangle.Fill>  
  6.         <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">  
  7.             <GradientStop Color="#FF408764" Offset="0"/>  
  8.             <GradientStop Color="Gold" Offset="0.65"/>  
  9.             <GradientStop Color="#FFC697E0" Offset="1"/>  
  10.         </LinearGradientBrush>  
  11.     </Rectangle.Fill>  
  12. </Rectangle>  

 

Stroke是轮廓的画刷,StrokeThickness是轮廓的大小,这些属性是从Shape类派生的,因此通用于所有子类。


例二:椭圆。


Ellipse表示椭圆,同样包括正圆这一特例(高度和宽度相等),这个类的使用也是非常简单,它的所有属性都是从共同基类Shape继承而来的。
请看下面的例子。

[html]  view plain copy print ?
  1. <Ellipse Canvas.Left="25" Canvas.Top="370"  
  2.          Width="145" Height="135"  
  3.          Stroke="Blue"  
  4.          StrokeThickness="3.8"  
  5.          Fill="Silver"/>  

 

下图显示以上例子的运行效果。

 

 

 


例三:用Line绘制线段。


严格上讲,应该叫线段,因为直线是没有端点,无限延展的,而Line是有两个端点的,即开始点和结果点。
Line的使用也是很简单的,就是两个点(4个坐标),请看实例。

[html]  view plain copy print ?
  1. <Grid>  
  2.     <Line X1="60" Y1="35"  
  3.           X2="480" Y2="450"  
  4.           Stroke="Yellow"  
  5.           StrokeThickness="9.2"/>  
  6. </Grid>  

 

Line放在Grid中效果比较明显,因为Canvas中要设置Left,Top等属性,这样会干扰X1,Y1,X2,Y2的设置。
运行效果如下图所示。

 


例四:Polygon和Polyline


我们看到,这两个家伙长得很像,应该是亲兄弟。
它们具有相同的属性。

Points:就是构成该图形的所有点的集合。

这两个家伙可能你觉得有些头晕,文档的解释可能你看不懂,但是,看不懂不等于不能用,没关系,我们先来比较一下这两兄弟有啥不同。

[html]  view plain copy print ?
  1. <Grid>  
  2.     <Grid.ColumnDefinitions>  
  3.         <ColumnDefinition Width="*"/>  
  4.         <ColumnDefinition Width="*"/>  
  5.     </Grid.ColumnDefinitions>  
  6.     <Grid.RowDefinitions>  
  7.         <RowDefinition Height="*"/>  
  8.         <RowDefinition Height="Auto"/>  
  9.     </Grid.RowDefinitions>  
  10.     <TextBlock Grid.Column="0" Grid.Row="1" Text="Polygon" HorizontalAlignment="Center" Margin="0,20" FontSize="35"/>  
  11.     <TextBlock Grid.Column="1" Grid.Row="1" Text="Polyline" HorizontalAlignment="Center" Margin="0,20" FontSize="35"/>  
  12.     <Polygon Grid.Column="0" Grid.Row="0"  
  13.              Margin="50"  
  14.              Stroke="Yellow"  
  15.              StrokeThickness="6.8"  
  16.              Stretch="Fill">  
  17.         <Polygon.Points>  
  18.             <Point X="2" Y="6"/>  
  19.             <Point X="65" Y="37"/>  
  20.             <Point X="160" Y="120"/>  
  21.             <Point X="22" Y="390"/>  
  22.         </Polygon.Points>  
  23.     </Polygon>  
  24.     <Polyline Grid.Column="1" Grid.Row="0"  
  25.               Margin="50"  
  26.               Stroke="Yellow"  
  27.               StrokeThickness="6.8"  
  28.               Stretch="Fill">  
  29.         <Polyline.Points>  
  30.             <Point X="2" Y="6"/>  
  31.             <Point X="65" Y="37"/>  
  32.             <Point X="160" Y="120"/>  
  33.             <Point X="22" Y="390"/>  
  34.         </Polyline.Points>  
  35.     </Polyline>  
  36. </Grid>  


 

看到了吧,一个是闭合的,一个是不闭合的,如果看不清楚,自己动手,丰衣足食。

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

意见,博 客编辑器经常死掉,点发布没响应,望 优快云早点修复漏洞。

转载于:https://www.cnblogs.com/songtzu/archive/2012/07/24/2607122.html

AI-PPT 一键生成 PPT:用户输入主题关键词,AI-PPT 可快速生成完整 PPT,涵盖标题、正文、段落结构等,还支持对话式生成,用户可在 AI 交互窗口边查看边修改。 文档导入 PPT:支持导入 Word、Excel、PDF 等多种格式文档,自动解析文档结构,将其换为结构清晰、排版规范的 PPT,有保持原文和智能优化两种模式。 AI-PPT 对话 实时问答:用户上传 PPT 或 PPTX 文件后,可针对演示内容进行提问,AI 实时提供解答,帮助用户快速理解内容。 多角度内容分析:对 PPT 内容进行多角度分析,提供全面视野,帮助用户更好地把握内容结构和重点。 多语言对话支持:支持多语言对话,打破语言障碍,方便不同语言背景的用户使用。 AI - 绘图 文生图:用户输入文字描述,即可生成符合语义的不同风格图像,如油画、水彩、中国画等,支持中英文双语输入。 图生图:用户上传图片并输入描述,AI - 绘图能够根据参考图和描述生成新的风格化图像,适用于需要特定风格或元素的创作需求。 图像编辑:提供如 AI 超清、AI 扩图、AI 无痕消除等功能,用户可以上传图片进行细节修改和优化,提升图片质量。 AI - 文稿 文案生成:能够根据用户需求生成多种类型的文章,如市场营销文案、技术文档、内部沟通内容等,提升文案质量和创作效率。 文章润色:对已有文章进行改善和优化,包括语言表达、逻辑连贯性、内容流畅度等方面,使文章更符合用户期望和风格。 文章续写:AI 技术理解文本语境,为用户提供新的想法、补充资料或更深层次的见解,帮助用户丰富文档内容。 AI - 医生 智能健康咨询:包括症状自查,用户输入不适症状,AI 结合病史等信息提供疾病可能性分析与初步建议;用药指导,支持查询药品适应症、禁忌症等,并预警潜在冲突;中医辨证,提供体质辨识与调理建议。 医学报告解读:用户上传体检报告
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值