如何将system.drawing.image转换为system.web.ui.webcontrols.image

时间:2010-08-09 06:19:38

标签: c# asp.net

我用来存储以字节为单位的图像,并且能够将其转换为system.drawing.image但不确定如何在页面上呈现它

由于

2 个答案:

答案 0 :(得分:5)

您可以创建ASPX页面,将图像文件作为字节数组返回并包含相应的标题信息,以获取图像,您可以像imagemanager.aspx?imgid=31337

一样调用此页面

然后在您的主页system.web.ui.webcontrols.image中将控件集ImageUrl属性设置为您的脚本路径:

ctrlImage.ImageUrl = "imagemanager.aspx?imgid=31337";

以下是在imagemanager.aspx中输出图像的方法示例:

    private void TransmitBytes(byte[] bytes, string outFileName)
    {
        Response.Clear();
        Response.AddHeader("Content-Disposition", "attachment; filename=" + outFileName);
        Response.AddHeader("Content-Length", bytes.Length.ToString());
        Response.ContentType = "image/jpeg";
        Response.BinaryWrite(bytes);
        Response.End();
    }

答案 1 :(得分:3)

亲爱的Kamaal,System.Drawing.Image代表图片图片,您可以渲染,打印,保存到文件,调整大小,从中创建缩略图等。但是{{ 1}}是一个网络控件,可用于在网页上显示图片。

要在网页上显示动态创建的图片,您需要一些System.Web.UI.WebControls.Image或其他将图片发送到调用页面的机制。

Here是一篇关于4guysfromrolla.com的文章,解释了这个概念。

Here是C#中developerfusion.com的另一个

我在Scott Mitchel的MSDN上发现了this非常详细的文章。