分享

实例288 GDI 绘制直线、矩形和多边形

 悟静 2012-02-16

实例288 GDI+绘制直线、矩形和多边形

实例说明

在.NET中,图形的绘制一般都是通过GDI+技术来实现的,简单的图形绘制在项目开发中是必不可少的。本实例通过绘制直线、矩形和多边形等简单图形让读者初步了解绘图技术,实例运行结果如图13.1所示。

图13.1 GDI+绘制直线、矩形和多边形

技术要点

在利用GDI+绘图时,最重要的是调用类库中的Graphics类,利用该类可以完成绘图操作,本实例中用到了Graphics类对象的DrawLine方法、DrawRectangle方法和DrawPolygon方法,它们分别用于在画布中绘制直线、矩形和多边形。
下面分别介绍这几种方法。

(1)DrawLine方法

语法:

public void DrawLine(Pen pen,Point pt1,Point pt2)

参数说明:

pen:确定线条的颜色、宽度和样式。

pt1:表示要连接的第一个点。

pt2:表示要连接的第二个点。

(2)DrawRectangle方法

语法:

public void DrawRectangle(Pen pen,int x,int y,int width,int height)


参数说明:

pen:确定矩形的颜色、宽度和样式。

x:要绘制矩形的左上角的x坐标。

y:要绘制矩形的左上角的y坐标。

width:要绘制矩形的宽度。

height:要绘制矩形的高度。

(3)DrawPolygon方法

语法:

public void DrawPolygon(Pen pen,Point[] points)

参数说明:

pen:确定多边形的颜色、宽度和样式。

points:表示多边形的顶点。


注意:数组中的每对相邻的两个点指定多边形的一条边。另外,实现本实例前应先引用命名空间using System.Drawing。
实现过程

(1)新建一个网站,将其命名为Ex13_01,默认主页为Default.aspx。

(2)主要程序代码如下。

 private void GraphicsImage( )
{
int width = 440, hight = 200;
Bitmap image = new Bitmap(width, hight);
Graphics g = Graphics.FromImage(image); //创建画布
try
{
g.Clear(Color.YellowGreen); //清空背景色
Font font1 = new Font("宋体", 12); //设置字体类型和大小
Brush brush = new SolidBrush(Color.Red); //设置画刷颜色
Pen pen = new Pen(Color.Blue,1); //创建画笔对象
g.DrawString("GDI+绘制直线、矩形和多边形", font1, brush, 100, 20);
g.DrawLine(pen, 40, 80, 100, 80); //绘制直线
g.DrawRectangle(pen, 130, 60, 100, 40); //绘制矩形
Point[] points = new Point[6];
points[0].X=300;points[0].Y=60;
points[1].X=250;points[1].Y=80;
points[2].X=300;points[2].Y=100;
points[3].X=350;points[3].Y=100;
points[4].X=400;points[4].Y=80;
points[5].X=350;points[5].Y=60;
g.DrawPolygon(pen, points); //绘制多边形
System.IO.MemoryStream ms = new System.IO.MemoryStream( );
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent( );
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray( ));
}
catch(Exception ms)
{
Response.Write(ms.Message);
}
}


举一反三

根据本实例,读者可以:
绘制虚线;
绘制正方形;
绘制不规则多边形。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多