ASP.NET 画图与图像处理-如何直接输出到页面

作者:vkvi 来源:千一网络(原创) 日期:2007-8-30

有时候我们生成的图片并不需要保存到磁盘中,而是直接输出到页面,比如验证码、实时报表等,如何做呢?请参考如下:

    protected void Page_Load(object sender, EventArgs e)
    {
        System.Drawing.Bitmap img = new System.Drawing.Bitmap(300, 100);
        System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(img);
       
        System.Drawing.Font font = new System.Drawing.Font("宋体", 16); //字体与大小
        System.Drawing.Brush brush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);
        graphics.DrawString("www.cftea.com", font, brush, 50, 50); //写字,最后两个参数表示位置
       
        //将图片保存到内存流中
        System.IO.MemoryStream stream = new System.IO.MemoryStream();
        img.Save(stream, System.Drawing.Imaging.ImageFormat.Gif);
       
        //在页面上输出
        Response.Clear();
        Response.ContentType = "image/gif";
        Response.BinaryWrite(stream.ToArray());  
       
        stream.Close();
        stream.Dispose();
       
        graphics.Dispose();
        img.Dispose();
       
        Response.End();
    }

更简单的做法

img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
Response.ContentType = "image/gif";
Response.AddHeader("Content-Disposition", "inline;filename=1.gif");

直接保存在 Response.OutputStream 中。最后一句 AddHeader 的目的是让用户在图片上右键另存为的时候,在保存文件对话框中指定默认的文件名。

你前面那位网友看了:资源管理器左边栏怎么不见了?

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
赞助商们
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他