第5章 WPF图形图像编程.ppt_第1页
第5章 WPF图形图像编程.ppt_第2页
第5章 WPF图形图像编程.ppt_第3页
第5章 WPF图形图像编程.ppt_第4页
第5章 WPF图形图像编程.ppt_第5页
已阅读5页,还剩148页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章WPF图形图像编程,可以利用WPF技术编写图形图像程序,掌握绘制图形的三种方法,掌握画笔,画笔绘制工具,能够进行图形转换,如何处理图像和剪贴板,了解WPF 3D图形,学习目的,主要内容, 常见的结构有5.1 WPF和GDI 5.2 5.3使用Shape派生类5.4使用Drawing派生类5.5使用Visual派生类5.6 Pen类和Brush类5.7图形转换5.8位图效果5.9处理图像5.10图像剪贴板功能5.11 3D图形5.12引入DirectX 3d和XNA,5.1 WPF和GDI,它们的图形和图像编程方法有很大的不同。 GDI通常以即时模式显示图形和图像。当窗口图形和图像损坏时,

2、程序员应该在OnPaint事件处理程序中恢复损坏的图形和图像。但是,WPF以保留模式显示图像,通常WPF系统会自行恢复损坏的图形和图像。WPF控件的外观一般是通过矢量图形来实现的,控件可以记录生成控件的矢量图形的方法,并在需要恢复外观时自动调用这些方法来再现自己的外观。这样做的好处是,图形的外观与显示器的分辨率无关,它可以适应不同分辨率的显示器。WPF提供了三种显示图形的方法,它们是:系统。这些类都是控件,您可以通过设置必要的属性来绘制所需的图形。这种控件最容易使用,但是因为这些控件支持布局和数据绑定,并且可以响应更多的事件,所以使用这些控件会大大增加应用程序的资源消耗,而应用程序通常只用于在

3、窗口中显示少量的图形。系统的派生类。这些类都支持XAML,并且可以实现与形状类的派生类相同的功能。这种控件只支持几个事件和几个函数。使用这种控制将大大减少资源消耗。与Shape类的派生类相比,它需要编写更多的XAML标签。系统的派生类。这些类对XAML的支持是有限的,并且绘制图形的方法与GDI相似。一般来说,需要编写大量的代码,用类的方法绘制图形占用的资源最少。5.2常用结构,5.2.1点和尺寸结构点结构系统。点定义了点的位置,点结构有两个成员:X,Y,代表点的X轴和X轴,它的构造函数如下:公共点(双X,双Y)系统。窗户。尺寸结构使用属性“宽度”和“高度”来描述对象的宽度和高度。其构造函数如下

4、:公共尺寸(双宽,双高),5.2.2矩形结构,矩形结构系统。矩形,用来描述一个矩形。它的常见属性和方法如下:属性x和y:矩形结构左上角的x和y坐标。只读属性Left和Top:矩形结构左上角的x和y坐标。只读属性右侧和底部:矩形结构对象右下角的X坐标和Y坐标。属性宽度、高度和大小:矩形结构对象的宽度和高度。构造函数矩形(点位置,尺寸大小):参数1表示矩形结构左上角的点结构,参数2表示表示矩形宽度和高度的尺寸结构。构造函数rect(双x,双y,双宽度,双高度):参数依次是矩形左上角的x坐标,y坐标,宽度和高度。还有其他三个构造函数,请参考帮助系统。静态方法公共静态整流截面(矩形1,矩形2):返回矩

5、形结构,它是由两个参数表示的矩形结构的交集。如果没有交集,则返回null。交叉的概念见第5.4.4节。方法公共void intersect(rect rect):获取调用此方法的矩形结构对象与参数表示的矩形结构的交集。静态方法公共静态矩形联合(rectrect1,rectrect2):返回矩形结构,它是由两个参数表示的矩形结构的联合。关于联合的概念,见第5.4.4节。参数2也可以是点。方法公共布尔包含(点或矩形):确定兴趣点是否SRGB使用无符号的32位数字来表示颜色,红、绿、蓝和透明各占一个字节。透明度等于0表示完全透明,255表示完全不透明,完全不透明的红色以十六进制表示为#ffff000

6、0。在由scRGB表示的颜色中,红色、绿色、蓝色和透明度用0到1之间的单一类型数字表示,透明度等于0.0的是完全透明的,1.0的是完全不透明的,所有的红色、绿色和蓝色是0.0的是黑色的,所有的1.0是白色的,不透明的红色是sc # 1.0、1.0、0.0和0.0。属性r、g、b和a:分别代表sRGB空间的红、绿、蓝和透明。属性scR、scG、scB和scA:分别代表scRGB空间的红、绿、蓝和透明。公共静态颜色从RGB(字节r,字节g,字节b):获得不透明的sRGB颜色。argb的公共静态颜色(字节a,字节r,字节g,字节b): srgb颜色。来自srgb的公共静态颜色(浮点a、浮点r、浮点g

7、、浮点b): scrgb颜色。公共静态颜色相近(颜色1,颜色2):因为scRGB的颜色可能不完全相等,所以使用此函数来比较两个scRGB的颜色是否近似相等。5.3使用形状派生类,包括绘制线条控制、矩形控制、椭圆控制、折线控制、由多条线段组成的多边形控制和任意曲线的路径控制。5.3.1通用属性“填充:画笔”类对象,它指定闭合图像的填充颜色。Stroke:bush类对象,它指定线条的颜色或闭合图形的外轮廓线的颜色。StrokeThickness:指定闭合图形的线条或外部轮廓线的宽度。几何变换:变换图形的位置。5.3.2绘制线条控制线,用于绘制线段。属性X1和Y1是线段的起点,属性X2和Y2是线段的

8、终点。示例5.1用于绘制线段的XAML标记如下。请注意,省略的标记必须添加到实际的程序中。5.3.3绘制矩形控件矩形,可用于绘制各种矩形。属性“宽度”、“高度”、“半径”和“半径”分别是圆角矩形的X轴半径和Y轴半径。x轴半径应小于或等于宽度的一半,y轴半径应小于或等于高度的一半。当两者都等于一半时,图形变成圆形或椭圆形。示例5.2用于绘制矩形和圆角矩形的XAML标记如下。如果宽度=高度,它就是一个正方形。示例5.3使用代码生成矩形,为网格控件添加属性名称=Grid1,在表单中添加按钮,其事件函数如下。点击按钮,一条黑色的轮廓线将出现,内部将充满天蓝色的正方形。私有无效按钮1 _单击(对象发送者

9、,路由事件参数e)矩形myRect=新矩形();myRect。笔画=画笔。黑色;myRect。填充=画笔。天蓝色;myRect。高度=50;myRect。宽度=50;旋转变换旋转变换1=新旋转变换(-45);myRect。render transform=RotateTransform 1;grid1。儿童。添加(my rect);示例5.4绘制三个重叠的矩形来演示透明效果。将以下标签放入网格标签中。请仔细分析为什么不同的位置在操作后会产生相应的颜色。5.3.4绘制圆形或椭圆形控制椭圆。绘制椭圆时,如果宽度=高度,则控制椭圆为圆形。示例5.5在本示例中,键盘上的四个箭头键按下一个红色圆圈,它可以在表单的四个方向上移动。当圆到达形状的边界时,圆不能继续移动。(1)创建WPF项目。将椭圆控件放在“网格”面板上,拖动椭圆控件移动到左上角,直到只有两条左边和上边的线指示距离边界(图5.1),并修改椭圆控件的控件边界颜色属性“描边=红色”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论