(本科)第8章 GDI+图形图像技术ppt课件.pptx
《(本科)第8章 GDI+图形图像技术ppt课件.pptx》由会员分享,可在线阅读,更多相关《(本科)第8章 GDI+图形图像技术ppt课件.pptx(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第8章 GDI+图形图像技术C#C#程序设计程序设计第8章图形图像处理基础GDI+ Graphical Device Interface 提供强大的提供强大的GDI+类库类库: GDI+图形图像处理用到的主要命名空间是图形图像处理用到的主要命名空间是System.Drawing,该命该命名空间中包括有名空间中包括有Graphics类类、Image类类、Bitmap类类、Brush类类以及从以及从Brush继承的类、继承的类、Pen类类、Font类类等。通过这些类的属性和方法,等。通过这些类的属性和方法,提供了丰富的图形图像处理功能。提供了丰富的图形图像处理功能。 主要提供三方面应用
2、:主要提供三方面应用: 矢量图形处理矢量图形处理 图像处理:图像处理:BMP、JPG、GIF 文本显示文本显示8.1.1 绘图坐标系(0,0)8.1.2 点、Size、矩形 Point类类 PointPoint p1 = p1 = newnew PointPoint(100,100);(100,100); SizeSize类类 SizeSize s1= s1=newnew SizeSize(50,50);(50,50); RectangleRectangle类类 RectangleRectangle rec1 = rec1 = newnew RectangleRectangle(p1,s1);
3、(p1,s1); RectangleRectangle rec2 = rec2 = newnew RectangleRectangle(10,10,50,50);(10,10,50,50);8.1.2 点、Size、矩形 RectangleRectangle类类 RectangleRectangle rec1 = rec1 = newnew RectangleRectangle(p1,s1);(p1,s1); RectangleRectangle rec2 = rec2 = newnew RectangleRectangle(10,10,50,50);(10,10,50,50);8.1.2 点
4、、Size、矩形 Rectangle Rectangle结构的常用的几个属性如下。结构的常用的几个属性如下。 X X:表示矩形左上角的:表示矩形左上角的 x x 坐标。坐标。 Y Y:表示矩形左上角的:表示矩形左上角的 y y 坐标。坐标。 LocationLocation:表示矩形左上角顶点的坐标。:表示矩形左上角顶点的坐标。 HeightHeight :表示矩形的高度。:表示矩形的高度。 WidthWidth:表示矩形的宽度。:表示矩形的宽度。 SizeSize:表示矩形的大小。:表示矩形的大小。例如:例如:i int a = Rec1.X;nt a = Rec1.X;Point p=Re
5、c1.Location;Point p=Rec1.Location;XYHeightLocationWidth8.1.2 点、Size、矩形 Top:表示矩形上边的 y 坐标。 Bottom:表示矩形下边的y坐标,该坐标是此矩形的 Y 与 Height 属性值之和。 Left:表示矩形左边缘的 x 坐标。 Right:表示矩形右边缘的 x 坐标,该坐标是此矩形 X 与 Width 属性值之和。XYHeightLocationWidthTopBottomLeftRight8.1.3 颜色:Color 基本属性: A:Alpha分量值,取值为0255。 R:红色分量值,取值为0255。 G:绿色分
6、量值,取值为0255。 B:蓝色分量值,取值为0255。 常用方法: FromArgb FromKnownColor8.1.3 颜色:Color ColorColor c1 = c1 = newnew ColorColor();(); c1 c1 = = ColorColor.FromArgb(80,100,25,89.FromArgb(80,100,25,89);); c1 c1 = = ColorColor.FromArgb(100,25,89.FromArgb(100,25,89);); c1=Color.Red; c1=Color.Red; ColorColor c2 = c2 = C
7、olorColor.FromKnownColor.FromKnownColor ( (KnownColorKnownColor.BlueViolet);.BlueViolet); 常用方法: FromArgb FromKnownColor画笔对象的常用属性: Color:表示画笔的颜色。 DashStyle:虚线类型,有Dash、Dot、Dashdot等。 Width:表示画笔的宽度。8.1.4 画笔:PenColor c = new Color();c = Color.FromArgb(100, 75, 44);Pen p1 = new Pen(c, 4);Pen p2 = new Pen(
8、Color.Brown, 6);Pen p3 = new Pen(Color.Red);p3.Width = 10;p3.DashStyle = DashStyle.DashDot;8.1.4 画笔:Pen 画刷(Brush类)用来填充封闭图形的内部,如矩形、椭圆、饼形、多边形等。 不能用Brush类直接创建画刷。要创建一个画刷对象,可以通过从 Brush 派生出的类创建,如 SolidBrush、TextureBrush 和 LinearGradientBrush等。8.1.5 画刷:Brush 常用的画刷类: SolidBrush:单色画刷。 TextureBrush:图像画刷。用图像来填
9、充图形内部。 LinearGradientBrush:渐变画刷。用线性渐变颜色填充图形内部。 PathGradientBrush:路径渐变画刷。用渐变颜色填充图形内部。渐变是从路径中心到路径外边缘的平滑彩色渐变。 HatchBrush:阴影画刷。通过阴影样式、前景色和背景色定义画刷填充图形。8.1.5 画刷:Brush8.1.5 画刷:BrushSolidBrush b1 = new SolidBrush(Color.Blue);/创建画刷对象创建画刷对象b1,颜色为,颜色为BlueHatchBrush b2 = new HatchBrush(HatchStyle.DarkVertical,C
10、olor.YellowGreen, Color.Red);/创建画刷对象创建画刷对象b2,阴影样式为,阴影样式为DarkVertical,前景色为前景色为YellowGreen,背景色为背景色为Red。Bitmap bmp = new Bitmap(f:spring.jpg);/创建创建Bitmap对象对象bmp,并以并以f盘图像文件盘图像文件spring.jpg初始化初始化bmp。TextureBrush b5 = new TextureBrush(bmp);/创建图像画刷创建图像画刷8.1.5 画刷:BrushPoint p1 = new Point(0,0),p2=new Point(1
11、00,100); /创建两个创建两个Point对象对象p1,p2。LinearGradientBrush b3 = new LinearGradientBrush(p1,p2,Color.Red,Color.Blue);/创建画刷对象创建画刷对象b3,将使封闭图形颜色在,将使封闭图形颜色在p1和和p2之间从之间从Red渐变到渐变到Blue。8.1.6 画布:Graphics在画任何对象之前都需要创建一个在画任何对象之前都需要创建一个Graphics类实例作为画类实例作为画图画布。创建图画布。创建Graphics对象有三种方法:对象有三种方法:1.利用利用控件或窗体的控件或窗体的Paint事件事
12、件的的参数参数,创建画布创建画布。例如在窗体的例如在窗体的Paint事件中,创建画布的代码如下。事件中,创建画布的代码如下。private void Form1_Paint(object sender, PaintEventArgs e) Graphics g = e.Graphics; /创建画布对象创建画布对象g。8.1.6 画布:Graphics2. 调用控件或窗体的调用控件或窗体的CreateGraphics方法创建方法创建Graphics对象实对象实例,即画布例,即画布。这种这种方法适用于在已经存在的窗体或控件上绘图。方法适用于在已经存在的窗体或控件上绘图。例如在窗体的例如在窗体的C
13、lick事件中创建画布的代码如下。事件中创建画布的代码如下。private void Form1_Click(object sender, EventArgs e) Graphics g = this.CreateGraphics();8.1.6 画布:Graphics3. 从图像对象创建从图像对象创建Graphics对象。对象。这种方法适用于需要对图像进行更改和保存时使用这种方法适用于需要对图像进行更改和保存时使用。例如在按钮的例如在按钮的Click事件中,从图像对象创建画布。事件中,从图像对象创建画布。 private void button1_Click(object sender, E
14、ventArgs e) Bitmap bmp = new Bitmap(f:spring.jpg); Graphics g=Graphics.FromImage(bmp); /创建画布对象创建画布对象g,根据图像,根据图像bmp。 8.2 GDI+基础图形绘制 8.2.1 绘制直线 8.2.2 绘制矩形 8.2.3 绘制多边形 8.2.4 绘制椭圆、扇形、圆弧8.2.1 画直线 Graphics g = this.CreateGraphics(); /创建画布 Pen pen1 = new Pen(Color.Blue,10); /创建兰色画笔,宽度为10 g.DrawLine(pen1, 2
15、0, 30, 300, 30); /画出一条直线 pen1.DashStyle = DashStyle.DashDot; /设置短虚线样式为DashDot pen1.Color = Color.Red;/设置画笔颜色为Red g.DrawLine(pen1, 20, 60, 300, 60);/画出一条虚线 Bitmap bmp = new Bitmap(f:spring.jpg);/创建图像对象bmp TextureBrush tb = new TextureBrush(bmp); /创建图像画刷tb Pen pen2 = new Pen(tb, 20); /以图像画刷tb创建画笔,宽度20
16、 g.DrawLine(pen2, 20, 90, 300, 90);/ 以图像画笔画出一条直线 8.2.1 画直线Graphics g = e.Graphics; /创建画布创建画布 int halfWidth = this.ClientRectangle.Width / 2;/计算画布中心计算画布中心X坐标值坐标值 int halfHeight = this.ClientRectangle.Height / 2;/计算画布中心计算画布中心Y坐标值坐标值 Pen pen = new Pen(Color.Blue, 2); /实例化画笔实例化画笔 AdjustableArrowCap arro
17、w = new AdjustableArrowCap(8, 8, false); /定义画笔箭头定义画笔箭头 pen.CustomEndCap = arrow;/箭头用于画笔箭头用于画笔pen1. g.DrawLine(pen, 7, halfHeight, Width - 20, halfHeight); /画横坐标轴画横坐标轴 g.DrawLine(pen, halfWidth, Height - 5, halfWidth, 5); /画纵坐标轴画纵坐标轴 g.TranslateTransform(halfWidth, halfHeight); /将坐标原点转换到画布中心将坐标原点转换到画
18、布中心8.2.1 画直线Point p1 = new Point(-360, 0), p2 = new Point(); /创建起始点和相邻点。创建起始点和相邻点。 /X轴的值从轴的值从-360变化到变化到360,步长为,步长为1,确定,确定720个点,个点,并计算点的坐标并计算点的坐标 for (int i = -359; i 10*i & rect.Height 10*i) rect1 = new Rectangle(5*i, 5*i, rect.Width - 10 * i, rect.Height - 10 * i);/每次创建一个矩形,左上角向右下个移动每次创建一个矩形,左上角向右下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科第8章 GDI+图形图像技术ppt课件 本科 GDI 图形图像 技术 ppt 课件
限制150内