C#GDI+编程基础(一:Graphics画布类)
2014-06-07 19:12
330 查看
GDI+存在的意义:将变成与具体硬件实现细节分开。
GDI+步骤:获取画布,绘制图像、处理图像
命名空间:
画图工具:
Graphics(画布):类封装一个GDI+绘图图面,提供将对象绘制到显示设备的方法,Graphics与特定的设备上下文关联。画图方法被包括在
Graphics类中,在画任何对象之前都需要创建一个Graphics类实例作为画图。
创建画布三种方法:
1.利用控件或窗体的Paint事件的PaintEventArgs
适用场景:为控件创建绘制代码。
示例:
//窗体的Paint事件响应方法
//直接重载控件或者窗体的OnPaint方法:
注意:Paint事件在重绘控件时发生。
2.调用某控件或窗体的CreateGraphics方法以获取对Graphics对象的引用,该对象表示控件或窗体的绘图图面。
适用场景:在已经存在的窗体或控件上绘图
3.由从Image继承的任何对象创建Graphics对象
适用场景:需要更改已经存在的图像
Graphics类主要成员方法:
GDI+步骤:获取画布,绘制图像、处理图像
命名空间:
using System.Drawing;//提供对GDI+基本图形功能的访问 using System.Drawing.Drawing2D;//提供高级的二维和矢量图像功能 using System.Drawing.Imaging;//提供高级GDI+图像处理功能 using System.Drawing.Printing;//提供打印相关服务 using System.Drawing.Text;//提供高级GDI+排版功能 using System.Drawing.Design;//扩展设计时,用户界面逻辑和绘制的类。用于扩展,自定义
画图工具:
Graphics(画布):类封装一个GDI+绘图图面,提供将对象绘制到显示设备的方法,Graphics与特定的设备上下文关联。画图方法被包括在
Graphics类中,在画任何对象之前都需要创建一个Graphics类实例作为画图。
创建画布三种方法:
1.利用控件或窗体的Paint事件的PaintEventArgs
适用场景:为控件创建绘制代码。
示例:
//窗体的Paint事件响应方法
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; }
//直接重载控件或者窗体的OnPaint方法:
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics g = e.Graphics; }
注意:Paint事件在重绘控件时发生。
2.调用某控件或窗体的CreateGraphics方法以获取对Graphics对象的引用,该对象表示控件或窗体的绘图图面。
适用场景:在已经存在的窗体或控件上绘图
private void button1_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); g.Dispose(); }
3.由从Image继承的任何对象创建Graphics对象
适用场景:需要更改已经存在的图像
private void button1_Click(object sender, EventArgs e) { Image img = Image.FromFile(@"images\pic.jpg"); Graphics g=Graphics.FromImage(img); }
Graphics类主要成员方法:
名称 | 说明 |
DrawArc | 画弧 |
DrawBezier | 画立体的贝塞尔曲线 |
DrawBeziers | 画连续立体的贝塞尔曲线 |
DrawClosedCurve | 画闭合曲线 |
DrawCurve | 画曲线 |
DrawEllipse | 画椭圆 |
DrawImage | 画图像 |
DrawLine | 画线 |
DrawPath | 通过路劲画线和曲线 |
DrawPie | 画饼图 |
DrawPolygon | 画多边形 |
DrawRectangle | 画矩形 |
DrawString | 绘制文字 |
FillEllipse | 填充椭圆 |
FillPath | 填充路劲 |
FillPie | 填充饼图 |
FillPolygon | 填充多边形 |
FillRectangle | 填充矩形 |
FillRectangles | 填充矩形组 |
FillRegion | 填充区域 |
相关文章推荐
- C#.net 地图控件开发(三) GDI+图形图像编程基础1.
- C#.net 地图控件开发(五) GDI+图形图像编程基础3.
- C#GDI+编程基础
- C#.net 地图控件开发(四) GDI+图形图像编程基础2.
- __86__C#_Graphics_GDI图形编程基础
- C#GDI+编程基础(二)
- C#网络应用编程基础练习题
- C#网络应用编程基础练习题与答案(1)
- c#网络编程基础
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- GDI+编程基础(一)GDI+ Vs GDI
- Visual C++.NET GDI+编程基础方案
- C# GDI+编程之基础篇
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- C#轻松入门(三)面向对象的编程基础
- MFC使用GDI+编程基础
- (C#)Windows Shell 外壳编程系列1 - 基础,浏览一个文件夹
- c#下多线程编程基础
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- C#游戏编程--GDI+与冲突检测