首页 > 代码库 > C# GDI+技术

C# GDI+技术

C# GDI+技术

GDI+概述
        GDI+是GDI(即Windows早期版本中附带的Graphics Device Interface)的后继者。它是一种构成Windows XP操作系统的子系统的应用程序编程接口(API)。
GDI+基类的主要命名空间及说明:
System.Drawing
System.Drawing.Drawing2D
System.Drawing.Imaging
System.Drawing.Printing
System.Drawing.Design
System.Drawing.Text
基本图形绘制
Graphics类是GDI+的核心,Graphics对象表示GDI+绘图表面,提供了对象绘制到显示设备的方法。Graphics类封装了绘制直线、曲线、图形、图像和文本的方法,是GDI+实现绘制直线、曲线、图形、图像和文本的类,是进行一切GDI+操作的基础类。
绘制直线
Graphics类中的DrawLine方法,可重载,主要用来绘制一条连接由坐标对指定的两个点的线条。
(1)绘制一条连接两个Point结构的线。
public void DrawLine(Pen pen, Point pt1,Point pt2)
pen:Pen对象,确定线条颜色、宽度和样式。
pt1:Point结构,表示要连接的第一个点。
pt2:Point结构,表示要连接的第二个点。
(2)绘制一条连接由坐标对指定的两个点的线条。
Public void DrawLine(Pen pen,int x1,int y1,int x2,int y2)
绘制直线的示例代码:
        private void button1_Click(object sender, EventArgs e)
        {
            Graphics graphics = this.CreateGraphics();
            Pen myPen = new Pen(Color.Blue, 2);
            graphics.DrawLine(myPen, 50, 30, 170, 30);
        }
绘制矩形
Graphics类的DrawRectangle方法,可重载。
(1)绘制由Rectangle结构指定的矩形。
public void DrawRectangle(Pen pen,Rectangle rect)
pen:Pen对象,确定线条颜色、宽度和样式。
rect:表示要绘制矩形的Rectangle结构。
例如:
Rectangle rect = new Rectangle(0, 0, 80, 50);
(2)绘制由坐标对、宽度和高度指定的矩形。
public void DrawRectangle(Pen pen, int x, int y, int width, int height)
pen:Pen对象,确定线条颜色、宽度和样式。
x:要绘制矩形的左上角x坐标。
y:要绘制矩形的左上角y坐标。
width和height分别表示宽度和高度。
绘制矩形的示例代码:
        private void button1_Click(object sender, EventArgs e)
        {
            Graphics graphics = this.CreateGraphics();
            Pen myPen = new Pen(Color.Blue, 2);
            graphics.DrawRectangle(myPen, 70, 20, 80, 50);
        }
绘制椭圆
Graphics类中的DrawEllipse方法,可重载。主要用来绘制边界由Rectangle结构指定的椭圆。
(1)绘制边界由Rectangle结构指定的椭圆。
public void DrawEllipse(Pen pen, Rectangle rect)
(2)绘制一个由边框(该边框由一对坐标、高度和宽度指定)定义的椭圆。
public void DrawEllipse(Pen pen, int x, int y, int width, int height)
绘制椭圆的示例代码:
        private void button1_Click(object sender, EventArgs e)
        {
            Graphics graphics = this.CreateGraphics();
            Pen myPen = new Pen(Color.Blue, 3);
            Rectangle myRectangle = new Rectangle(70, 20, 100, 60);
            graphics.DrawEllipse(myPen, myRectangle);
        }
绘制圆弧
Graphics类中的DrawArc方法,可重载。
(1)绘制一段弧线,它表示由Rectangle结构指定的椭圆的一部分。
public void DrawArc(Pen pen, Rectangle rect, float startAngle, float sweepAngle)
pen:Pen对象,确定线条颜色、宽度和样式。
rect:Rectangle结构,定义椭圆边界。
startAngle:从x轴到弧线的起始点沿顺时针方向度量的角(以度为单位)。
sweepAngle:从startAngle参数到弧线的结束点沿顺时针方向度量的角(以度为单位)。
(2)绘制一段弧线,它表示由一对坐标、宽度和高度指定的椭圆部分。
public void DrawArc(Pen pen, int x, int y, int width, int height, int startAngle, int sweepAngle)
绘制圆弧的实例代码:
        private void button1_Click(object sender, EventArgs e)
        {
            Graphics graphics = this.CreateGraphics();
            Pen myPen = new Pen(Color.Blue, 5);
            Rectangle myRectangle = new Rectangle(70, 20, 100, 60);
            graphics.DrawArc(myPen, myRectangle,210,120);
        }
绘制多边形
需要Graphics对象、Pen对象和Point(或PointF)对象数组。Graphics类提供DrawPolygon方法,Pen对象存储用于呈现多边形的线条属性,如宽度和颜色等,Point(或PointF)对象数组存储多边形的各个顶点。可重载。
(1)绘制由一组Point结构定义的多边形。
public void DrawPolygon(Pen pen, Point[] pints)
































C# GDI+技术