`
niunan
  • 浏览: 724114 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

.NET3.5 GDI+ 图形操作4

    博客分类:
  • .NET
阅读更多

      前言: 本文章抄袭自本人刚刚买的《ASP.NET 3.5从入门到精通》这本书,此书介绍在 http://www.china-pub.com/44991  ,本文章95%与此书的内容完全一样,另5%是我改正一些失误以后加上去的,该书原示例代码只能运行在IE核心的浏览器上,非IE核心浏览器上运行会出现些显示问题,本人更改了其中的一些代码。本文章经历昨晚本人五个小时的手打而成(且还未打完,下班回去继续打,想不到我的打字速度退化得这么快,郁闷!!!),俗话说:好记性不如烂笔头,把书的内容手打出来,对手,对脑,都有好处!!!


10.3 基本绘图

 

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

 

 

第一,创建 Graphics 对象。

 

 

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

 

 

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

 

 

 

 
 

 

10.3.1 创建图形对象

 

 

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

 

 

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

 

 

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

 

 

²  由从 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();
 


如果要新创建一个图像,则用这种方法是最好的。

 

 

 

 

 

 

 

 

10.3.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, 200, 200); // 从[0,0]到[200,200]画直线
pen.Dispose();
g.Dispose();
// 存为新图片
bmp.Save(Server.MapPath("~/mm2.jpg"));
bmp.Dispose();
 

 

 

代码说明:

 

 


bmp.Save: Image 对象保存到磁盘。 Graphics 对象并非直接在原图上画直线,而是在内存中操作 Image 对象,所以需要另存为 mm2.jpg 才能看出效果。

 

 

程序运行后,查看 mm2.jpg 文件就可以看到效果了,如下图:

 

 

 

分享到:
评论

相关推荐

    C#与.NET3.5高级程序设计(第4版) 中文4

    27.8 通过GDI+呈现图形数据 778 27.9 创建一个完整的Windows Forms应用程序 782 27.10 小结 788 虽然法律没有具体规定不可上传出版物电子版,如侵犯您的利益,请与本人或管理员联系删除资源;纸质版读起来更...

    ASP.NET 3.5开发大全 (中文 PDF 完整书签 非扫描)

    第15章:介绍了如何使用ASP.NET中.NET应用程序框架的GDI+进行Web应用程序的图形图像编程。 第16章:随着互联网的不断发展,无刷新应用AJAX也越来越多的被人们所关注,本章详细的介绍了如何在ASP.NET 2.0和3.5中进行...

    ASP.NET 3.5 开发大全

    第十五章介绍了图形图像编程,包括如何在ASP.NET中处理图像,以及使用GDI+库进行绘制和操作图像的方法。 第十八章和第十九章分别阐述了WCF(Windows Communication Foundation)和WPF(Windows Presentation ...

    ASP.NET3.5从入门到精通

    第 1 章认识 ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET 历史与展望 1.1.2 ASP.NET 与ASP 1.1.3 ASP.NET 开发工具 1.1.4 ASP.NET 客户端 1.1.5 ASP.NET 3.5 新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET 应用程序需...

    基于GDI+的通用图形平台设计

    通过.NET Framework中的GDI+类库,开发者能够轻松地创建高质量的二维图形应用。GDI+支持常见的图形元素如直线、矩形、椭圆、文本等,并且可以通过路径(GraphicsPath)来组织这些图形元素,从而形成复杂的图形。 ##...

    ASP.NET 3.5 开发大全11-15

    第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 ...

    ASP.NET 3.5 开发大全1-5

    第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 ...

    ASP.NET 3.5 开发大全 压缩包2

    第15章:介绍了如何使用ASP.NET中.NET应用程序框架的GDI+进行Web应用程序的图形图像编程。 第16章:随着互联网的不断发展,无刷新应用AJAX也越来越多的被人们所关注,本章详细的介绍了如何在ASP.NET 2.0和3.5中进行...

    ASP.NET 3.5 开发大全 压缩包1

    第15章:介绍了如何使用ASP.NET中.NET应用程序框架的GDI+进行Web应用程序的图形图像编程。 第16章:随着互联网的不断发展,无刷新应用AJAX也越来越多的被人们所关注,本章详细的介绍了如何在ASP.NET 2.0和3.5中进行...

    ASP.NET 3.5 开发大全word课件

    第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 ...

    ASP.NET 3.5 开发大全 (上)

    第15章:介绍了如何使用ASP.NET中.NET应用程序框架的GDI+进行Web应用程序的图形图像编程。 第16章:随着互联网的不断发展,无刷新应用AJAX也越来越多的被人们所关注,本章详细的介绍了如何在ASP.NET 2.0和3.5中进行...

    目标闪烁板(GDI +变得简单)

    标签“C# Windows .NET .NET3.5 GDI+ Dev”进一步明确了技术栈,这个教程可能使用C#编程语言,并基于.NET Framework 3.5,这是一个广泛使用的开发平台,支持多种Windows应用程序的构建。GDI+ Dev可能指的是专门针对...

    Windows窗体控件:使用GDI +的VB.NET半透明控件

    首先,GDI+是.NET Framework提供的一种图形绘制API,它允许开发者进行复杂的2D图形渲染,包括文本、图像以及自定义形状。GDI+提供了丰富的绘图对象,如Graphics、Pen、Brush、Font等,使得创建半透明效果成为可能。 ...

    ASP.NET 开发大全 WORD文档

    总结来说,这个ASP.NET开发大全教程旨在提供一个全面的入门指南,帮助初学者理解和掌握ASP.NET的各个方面,包括MVC、WPF、WCF和GDI+等关键技术,并通过ASP.NET 3.5的实践应用,提升开发能力。对于希望深入学习.NET...

    WPF-Less GDI + .NET报告组件:星级报告

    GDI+是微软为Windows操作系统提供的图形绘制接口,它允许开发者创建高质量的图形、文本和图像。 在描述中提到的“不含WPF的GDI + .NET报告组件”,表明StarReport设计时避开了WPF,这可能是因为WPF对系统资源的要求...

Global site tag (gtag.js) - Google Analytics