【问题标题】:Is there anyway to display dynamically generated Bitmap on a asp image control?无论如何要在asp图像控件上显示动态生成的位图吗?
【发布时间】:2013-01-21 04:05:46
【问题描述】:

在我的代码中,我使用 c# 和 ASP.NET 动态创建位图。比我需要在asp图像控件上显示它。无论如何,不​​使用处理程序就可以做到这一点?

【问题讨论】:

    标签: c# asp.net image bitmap controls


    【解决方案1】:

    使用 ashx 处理程序更好,因为它适用于所有浏览器,并且您可以在客户端缓存输出图像。

    但是,如果您必须这样做,可以使用 <img>tag 直接内联显示图像,如下所示:

    <img src="data:image/gif;base64,<YOUR BASE64 DATA>" width="100" height="100"/>
    

    ASPX:

    <img runat="server" id="imgCtrl" />
    

    CS:

    MemoryStream ms = new MemoryStream();
    bitmap.Save(ms, ImageFormat.Gif);
    var base64Data = Convert.ToBase64String(ms.ToArray());
    imgCtrl.Src = "data:image/gif;base64," + base64Data;
    

    是的,您可以直接编写位图,但压缩格式(JPEG、GIF)更适合网络。

    注意:内嵌图片不适用于旧版浏览器。某些版本的 IE 有最大 32KB 大小的限制。

    【讨论】:

    • 谢谢你!我如何获得我的 Base64 数据,对不起 =/ 如果很难解释,请告诉我,我会找到方法。
    • 你能解释一下如何使用 ashx 处理程序吗?
    • 代码完全一样。您应该直接从处理程序中输出标头和字节数据。评论非常适合分享代码。如果您对此有任何疑问,请指出我,我可以将代码粘贴到那里。
    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 2021-04-15
    • 2019-01-28
    • 2021-08-14
    • 1970-01-01
    • 2016-12-30
    • 2011-11-01
    • 1970-01-01
    相关资源
    最近更新 更多