ASP.NET GDI+ 画图

要在ASP.net里使用GDI+绘制图形,需要完成4个步骤。

(1) 创建一个内存里的位图,在其上将完成所有的绘图工作。

(2) 为图像创建一个GDI+图形上下文,将获得你需要的system.Drawing.Graphics 对象。

(3)使用Graphics对象的方法完成绘制图像。可以绘制和填充线条和形状,并且甚至可以从现有的文件中复制位图内容。

(4)使用Response.OutPutStream属性输出图像的二进制数据到浏览器。

下面将详细的说明这四个步骤。再此之前需要的命名空间是

using System.Drawing;

using System.Drawing.Drawing2D;

Using System.Drawing.Imaging;

第一步: 通过创建一个System.Drawing.Bitmap类的实例来创建一个内存里的位图。当创建这个对象时,需要将以像素为单位的图像的高度和宽度指定为构造函数的参数。这时候需要考虑的是图像的大小,不仅因为较大的位图在执行代码时需要消耗更多服务器的内存,而送到客户端的呈现大小也会增加,而且较大的位图会减缓传输速度。

      Bitmap image = new Bitmap(300,50);

第二步:为图像创建GDI+ 上下文对象。上下文是有System.Drawing。.Graphics对象表示。该对象提供方法来让你在内存里的位图绘制内容,要从一个现存的Bitmap对象创建一个Graphics对象。只需使用静态的方法Graphics.FromImage();

      Graphics g = Graphics.FromImage(image);

第三步:就是根据需要来绘制图像,使用graphics类的方法,可以绘制文本,形状和位图上的图像。例如,使用Graphics 对象的FillRectangule()方法用实的白色背景填充图像。

 //Draw a solid white rectangle start from point(1,1), make it 298 pixels wide and 48 pixels high
            g.FillRectangle(Brushes.White, 1, 1, 298, 48);

为了呈现文本,需要用到DrawString()

     Font font = new Font("Impact", 20, FontStyle.Regular);
            g.DrawString("This is first .NET GDI", font, Brushes.Blue, 10, 5);

第四步:一旦完成了所有的操作,就可以使用Image.Save()方法来将其发送到浏览器。从概念上讲,“保存”该图像到浏览器的响应流,然后它就被发送到客户端,并且显示在浏览器。(这里的Image.Save()方法可以将一个图像输出到任意有效流,包括FileStream,这个技巧可以能保存动态生成的图像到磁盘);

 //Render the image to the output stream
            image.Save(Response.OutputStream, ImageFormat.Gif);

当这四个步骤都完成后,应该要显示的释放图像和绘图上下文,因为两者都占用了一些非托管资源,需要立即释放,通过Dispose()方法来释放资源。

 g.Dispose();

   image.Dispose();

 

转载于:https://www.cnblogs.com/fartherfuture/p/3523707.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴听到你对ASP.NET EF+MVC2实战的兴趣。以下是一些建议,希望对你有所帮助。 首先,ASP.NET是一个基于Web的应用程序框架,它提供了一种创建Web应用程序的高效且灵活的方式。在ASP.NET中,MVC(模型-视图-控制器)是一种常用的架构模式,它将应用程序分为三个部分:模型(数据层)、视图(用户界面)和控制器(管理业务逻辑)。使用MVC可以提高应用程序的可扩展性、可维护性和可测试性。 其次,EF(实体框架)是.NET框架中的一个ORM(对象关系映射)工具,它可以将数据库中的数据映射到.NET对象上,从而使开发人员能够使用面向对象的方式来操作数据库。使用EF可以简化数据库访问和数据持久化的过程,同时还可以提高代码的可读性和可维护性。 最后,MVC2是ASP.NET MVC框架中的一个版本,它是基于.NET Framework 3.5开发的,提供了一种更加简单和易于使用的方法来创建Web应用程序。 接下来,我会给出一些学习ASP.NET EF+MVC2实战的建议: 1. 学习ASP.NET MVC框架的基本概念和原理,理解MVC架构模式的优点和使用方式。 2. 学习EF框架的基本概念和原理,掌握EF的常用API和技巧。 3. 学习ASP.NET MVC2框架的基本概念和原理,理解MVC2框架的新特性和改进。 4. 实践ASP.NET EF+MVC2项目,比如创建一个简单的博客应用程序或在线商店应用程序。 5. 使用Visual Studio等开发工具进行调试和测试,学习如何使用调试工具来诊断和解决问题。 6. 参加ASP.NET社区和开发者论坛,与其他开发者交流经验和技巧。 希望这些建议能对你有所帮助,祝你学习愉快!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值