.NET3.5 GDI+ 图形操作3

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


10.2.4 Brush

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

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对象,这种对象使用图像来填充形状的内部,用户可以设置填充的方式。下表例举了常的方法和属性。

 

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

 

Code

 

网页运行结果如图:

 

 

10.2.5 Font

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

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

 

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

 

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

 

10.2.6 Image

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

 

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类型的参数,可以的值如下表。

 

比如:

 

Code

 

 

网页运行如图:

posted @   牛腩  阅读(473)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示