- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本篇将记录一下如何在WPF中绘画和设计动画,这方面一直都不是VS的强项,然而它有一套利器Blend;这方面也不是我的优势,幸好我有博客园,能记录一下学习的过程。在本记录中,为了更好的理解绘画与动画,多数的例子还是在VS里面敲出来的。好了,不废话了,现在开始。
一、WPF绘画
1.1基本图形
在WPF中可以绘制矢量图,不会随窗口或图型的放大或缩小出现锯齿或变形,除此之外,XAML绘制出来的图有个好处就是便于修改,当图不符合要求的时间,通常改某些属性就可以完成了。下面先记录一下几个基本的图形(他们都派生于Shape类)。
Line?直线段
Rectangle?矩形
Ellipse?椭圆
Polygon?多边形
Polyline?折线,不闭合
Path?路径
1.2笔刷
常用的笔刷Brush类型有:
·? SolidColorBrush:使用纯?Color?绘制区域。
·? LinearGradientBrush:使用线性渐变绘制区域。?其中有个 GradientStop属性,径向渐变也有可以查看msdn,我觉得上面说的还是比较清楚的。
·? RadialGradientBrush:使用径向渐变绘制区域。
·? ImageBrush:使用图像(由?ImageSource?对象表示)绘制区域。
·? DrawingBrush:使用?Drawing?绘制区域。?绘图可能包含向量和位图对象。
·? VisualBrush:使用?Visual?对象绘制区域。?使用?VisualBrush?可以将内容从应用程序的一个部分复制到另一个区域,这在创建反射效果和放大局部屏幕时会非常有用。
接下来感受一下Shape类和Brush类的使用。
1.3 直线段
在平面上,两点确定一条直线段。同样在Line类中也具有两点的属性(X1,Y1)?( X2,Y2),同时还个属性Stroke——笔触,它是Brush类型的。也就是可以用上面的笔刷赋值。由于其简单性,在此不作过多的说明,可以画出下面的直线段如图1:
图1
下面是对应的代码,在Blend敲的话,对应的属性值提示会更加完整些,但是VS下看着比较清晰,各有优略了。
XAML
Window x:Class=Chapter_10.LineTest
xmlns=/winfx/2006/xaml/presentation
xmlns:x=/winfx/2006/xaml
Title=LineTest Height=300 Width=300
Grid
Line X1=10 Y1=20 X2=260 Y2=20 Stroke=Red StrokeThickness=10/Line
Line X1=10 Y1=40 X2=260 Y2=40 Stroke=Orange StrokeThickness=6/
Line X1=10 Y1=60 X2=260 Y2=60 Stroke=Green StrokeThickness=3/
Line X1=10 Y1=80 X2=260 Y2=80 Stroke=Purple StrokeThickness=2/
Line X1=10 Y1=100 X2=260 Y2=100 Stroke=Black StrokeThickness=1/
Line X1=10 Y1=120 X2=260 Y2=120 StrokeDashArray=3 Stroke=Black StrokeThickness=1/
Line X1=10 Y1=140 X2=260 Y2=140 StrokeDashArray=5 Stroke=Black StrokeThickness=1/
Line X1=10 Y1=160 X2=260 Y2=160 Stroke=Black StrokeEndLineCap=Flat StrokeThickness=6/
Line X1=10 Y1=180 X2=260 Y2=180 Stroke=Black StrokeEndLineCap=Triangle StrokeThickness=8/
Line X1=10 Y1=200 X2=260 Y2=200 StrokeEndLineCap=Round StrokeThickness=10
Line.Stroke
LinearGradientBrush EndPoint=0,0.5
原创力文档


文档评论(0)