您的位置:首页 > 编程语言 > C#

C#GDI+编程基础(一:Graphics画布类)

2014-06-07 19:12 330 查看
GDI+存在的意义:将变成与具体硬件实现细节分开。

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填充区域
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: