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

.NET3.5 GDI+ 图形操作3

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

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


10.2.4 Brush

 

 

Brush 通常被称为,用于定义填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径)的内部对象。 Brush 是一个抽象基类,不能进行实例化。若要创建一个画笔对象,需使用从 Brush 派生出的类,如 SolidBrush TextureBrush LinearGradientBrush

 

 

SolidBrush 类用于定义单色画笔。画笔用于填充图形形状,如矩形、椭圆、扇形、多边形和封闭路径。下表列举了常用的方法和属性。

System.Drawing.Brushes 定义了很多标准笔刷,用户可以直接定义一个蓝色笔刷。

 

 

System.Drawing.Brush brush  =  System.Drawing.Brushes.Blue;
 

 

 

当然,用户也可以自定义画笔。

 

 

//  定义一个红色笔刷 
System.Drawing.Brush brush  =   new  System.Drawing.SolidBrush(System.Drawing.Color.Red);
 

 

TextureBrush 类的每个属性都是 Brush 对象,这种对象使用图像来填充形状的内部,用户可以设置填充的方式。下表例举了常的方法和属性。

 

 

 

 

下面的代码示例演示了用图形填充区域的用法。

 

 

// Brush图片
string brushfile = Server.MapPath("~/logo.gif");
// 被填充的图片
string file = Server.MapPath("~/Element.jpg");
// 声明TextureBrush对象
System.Drawing.Image brushimg = System.Drawing.Image.FromFile(brushfile);
System.Drawing.TextureBrush texture = new System.Drawing.TextureBrush(brushimg);
texture.WrapMode = System.Drawing.Drawing2D.WrapMode.Tile;

System.Drawing.Image img = System.Drawing.Image.FromFile(file);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(img); // 创建Graphics对象
g.FillEllipse(texture, new System.Drawing.RectangleF(90.0f,110.0f,100,100)); // 用图形填充
g.Dispose();
// 原书中没有这句,这里要加上这句,如果不加这句则在非IE浏览器显示不出
Response.ContentType = "image/JPEG";
// 将图形加载到Response中
img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
 

 

 

网页运行结果如图:

 

 

 

 

10.2.5 Font

 

 

Font 用于定义特定的文本格式,包括字体、字号和字形属性。

 

 

下表列举了常用方法和属性。

 

 

 

下面这行代码将构建一个 10 磅大小的宋体字体。

 

 

System.Drawing.Font f1  =   new  System.Drawing.Font( " 宋体 " , 10 );
 

 

10.2.6 Image

 

 

Image 是为源自 Bitmap Metafile 的类提供功能的抽象基类。下表列举了常用的方法和属性。

 

 

 

Image 不可以实例化,但可以通过方法来构造:

 

 

System.Drawing.Image img1  =  System.Drawing.Image.FromFile(Server.MapPath( " ~/logo.gif " ));
 

 

Image 是基类,封装了很多有用的属性和方法,而实际运用时,尤其在生成或者修改图像的时候,一般用其派生类 Bitmap 表示内存中的图形。 Bitmap 是用于处理由像素数据定义的图像的对象,是图像处理开发中最常用的对象。用户可以通过多种途径构造 Bitmap 对象。

 

 

System.Drawing.Bitmap bmp1  =   new  System.Drawing.Bitmap(Server.MapPath( " ~/logo.gif " ));  //  通过文件构造 
System.Drawing.Bitmap bmp2  =   new  System.Drawing.Bitmap( 300 , 200 );  //  构造一个宽300,高200的对象 
 

构造完对象后,可以调用其方法进行操作,比如 RotateFlip 方法可以实现图像反转,该方法接收 RotateFlipType 类型的参数,可以的值如下表。

 

 

 

比如:

 

 

 

 

System.Drawing.Bitmap bmp1 = new System.Drawing.Bitmap(Server.MapPath("~/logo.gif")); // 通过文件构造
bmp1.RotateFlip(System.Drawing.RotateFlipType.Rotate90FlipX); // 水平翻转90度旋转
// 原书中没有这句,这里要加上这句,如果不加这句则在非IE浏览器显示不出
Response.ContentType = "image/JPEG";
bmp1.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
 

网页运行如图:

 

 

分享到:
评论
1 楼 小酒独浊 2009-05-05  
很不错的内容啊,学习了,不过就是有一点:code怎么点不开啊?

相关推荐

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

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

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

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

    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 应用程序需...

    ASP.NET 3.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 开发大全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中进行...

    C#入门经典第四版(第8部分,共分16个部分)

    通过C#可以很容易地学习.NET Framework 3.5的强大功能,所以C#是开始您编程生涯的绝佳方式。本书全面阐述了C#编程的所有方面,包括C#语言本身、Windows编程、Web编程及数据源的使用等内容。 学习了新的编程技巧后,...

    C#入门经典第四版(第13部分,共分16个部分)

    通过C#可以很容易地学习.NET Framework 3.5的强大功能,所以C#是开始您编程生涯的绝佳方式。本书全面阐述了C#编程的所有方面,包括C#语言本身、Windows编程、Web编程及数据源的使用等内容。 学习了新的编程技巧后,...

    C#入门经典第四版(第11部分,共分16个部分)

    通过C#可以很容易地学习.NET Framework 3.5的强大功能,所以C#是开始您编程生涯的绝佳方式。本书全面阐述了C#编程的所有方面,包括C#语言本身、Windows编程、Web编程及数据源的使用等内容。 学习了新的编程技巧后,...

    C#入门经典第四版(第6部分,共分16个部分)

    通过C#可以很容易地学习.NET Framework 3.5的强大功能,所以C#是开始您编程生涯的绝佳方式。本书全面阐述了C#编程的所有方面,包括C#语言本身、Windows编程、Web编程及数据源的使用等内容。 学习了新的编程技巧后,...

    C#入门经典第四版(第10部分,共分16个部分)

    通过C#可以很容易地学习.NET Framework 3.5的强大功能,所以C#是开始您编程生涯的绝佳方式。本书全面阐述了C#编程的所有方面,包括C#语言本身、Windows编程、Web编程及数据源的使用等内容。 学习了新的编程技巧后,...

    C#入门经典第四版(第7部分,共分16个部分)

    通过C#可以很容易地学习.NET Framework 3.5的强大功能,所以C#是开始您编程生涯的绝佳方式。本书全面阐述了C#编程的所有方面,包括C#语言本身、Windows编程、Web编程及数据源的使用等内容。 学习了新的编程技巧后,...

    C#入门经典(第4版) part3

    《C#入门经典(第4版)》通过C#可以很容易地学习.NET Framework 3.5的强大功能,所以C#是开始您编程生涯的绝佳方式。《C#入门经典(第4版)》全面阐述了C#编程的所有方面,包括C#语言本身、Windows编程、Web编程及数据源...

    C#入门经典(第4版)doc

    本书适合于想学习使用.NET Framework编写C#程序的读者,也适合于已了解.NET,又想学习.NET 3.5或Visual Studio 2008最新功能的读者。 源代码下载  http://www.wrox.com  http://www.tupwk.com.cn/downpage

    c# 入门经典(第四版) part4

    C#入门经典(第4版)》通过C#可以很容易地学习.NET Framework 3.5的强大功能,所以C#是开始您编程生涯的绝佳方式。《C#入门经典(第4版)》全面阐述了C#编程的所有方面,包括C#语言本身、Windows编程、Web编程及数据源的...

Global site tag (gtag.js) - Google Analytics