`
niunan
  • 浏览: 724113 次
  • 性别: 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中进行...

    ASP.NET 3.5 开发大全

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

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

    基于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