首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

.net绘图操作3

2012-12-27 
.net绘图操作三在.NET中图形包括以下两个步骤。第一,创建Graphics对象。第二,使用Graphics对象绘制线条和形

.net绘图操作三

.NET中图形包括以下两个步骤。

第一,创建Graphics对象。

第二,使用Graphics对象绘制线条和形状,呈现文本或显示操作图像。

由此可见,如何创建Graphics对象是首先要解决的问题。本节将讲述如何绘制直线、矩形、圆等基本图形,然后基本图形构成复杂的图形。Graphics常用的绘图方法如下表。

?

.net绘图操作3??

?

10.3.1 创建图形对象

创建图形对象可有如下几种方法。

2? 在窗体或控件的Paint事件中接收对图形对象的引用,作为PaintEventArgs的一部分。在为控件创建绘制代码时,通常使用此方法来获取对图形对象的引用。

2? 调用某控件或窗体的CreateGraphics方法,以获取对Graphics对象的引用,该对象表示该控件或窗体的绘图图面。如果想在已存在的窗体或控件上绘图,可使用此方法。

2? 由从Image继承的任何对象创建Graphics对象。此方法一般用来生成图片。

ASP.NET Web应用程序而言,前两种是无法做到的,因此只能采用第三种方法。

假设要从网站根目录mm.jpg图形创建图形对象,可以使用如下代码:

Bitmap bmp = new Bitmap(Server.MapPath("~/mm.jpg"));Graphics g = Graphics.FromImage(bmp);bmp.Dispose();g.Dispose();

?

注意:这里要求图片必须存在,相当于对图片的修改操作,否则将不能创建Bitmap对象,也就无法创建图形对象了。另外,Bitmap对象和图形对象都是非常耗费计算机内存的,所以要及时调用Dispose方法释放占用资源。

?

?

?

当然,也可以在内存中新建Bitmap对象,对其绘制完毕后再保存到硬盘上或直接输入到HTTP流中发回客户端显示。比如在内存中创建一个200+100的图像,代码如下:

Bitmap bmp = new Bitmap(200,100);Graphics g = Graphics.FromImage(bmp);bmp.Dispose();g.Dispose();

?

2 绘制直线

绘制直线一般使用Graphics对象的DrawLine方法。下面的代码在mm.jpg图片上用红色线条斜画一条直线。

Pen pen = new Pen(Color.Red); // 创建一支红笔        Bitmap bmp = new Bitmap(Server.MapPath("~/mm.jpg"));        Graphics g = Graphics.FromImage(bmp);        g.DrawLine(pen, 0, 0, 100, 100); // 从[0,0]到[100,100]画直线        pen.Dispose();        g.Dispose();        // 存为新图片        bmp.Save(Server.MapPath("~/mm2.jpg"));        bmp.Dispose();

?

热点排行