婴智贝佳早教中心官网:实例288 GDI 绘制直线、矩形和多边形
来源:百度文库 编辑:中财网 时间:2024/05/05 04:03:02
实例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);
}
}
举一反三
根据本实例,读者可以:
绘制虚线;
绘制正方形;
绘制不规则多边形。
实例说明
在.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);
}
}
举一反三
根据本实例,读者可以:
绘制虚线;
绘制正方形;
绘制不规则多边形。
JAVA APPLET直线剪刀绘图系统,能绘制直线,矩形,圆的原理和程式
JAVA APPLET直线剪刀绘图系统,能绘制直线,矩形,圆的原理和程式
OpenGL绘制的直线和多边形如何消除锯齿?
异面直线实例
为什么在WORD中绘制矩形或圆形、直线时,没有边框线呀,每次都要去填充颜色才行呀,这要设置哪儿呀?
绘制三维空间直线的算法
用AUTOCAD2004,如何绘制矩形的中心线?
cad绘制专业图的实例
如何在PHOTOSHOP中绘制规定长宽的矩形?
直线和直线外三点
什么叫著作权公约和多边公约?
双边活动和多边活动是什么?
光沿直线传播的生活实例
图型绘制代码实例分析实验报告
最近想用GDI+画一个带箭头的直线,可是遇到了下面的问题
请问AUTOCAD里面怎么绘制带箭头的直线?
如何在Excel中绘制直线拟合图
如果只许使用直尺(没有刻录,只能作直线的尺)和圆规,能作一个矩形使面积等于半径3cm圆面积
如果只许使用直尺(没有刻度,只能作直线的尺)和圆规,你能作出这样一个矩形?
我的flash 2004软件里的矩形工具明明有下拉三角,却点不开,找不到多边开工具,为什么?
GDI和CPL复印机驱动程序有什么区别?
如何用fireworks MX 2004绘制特定的圆角矩形?
多边协议是什么?和诸边协议有什么区别?
政治经济关系中多边、双边和单边主义的区别