在我的代码中,我使用 c# 和 ASP.NET 动态创建位图。比我需要在asp图像控件上显示它。无论如何都可以在不使用处理程序的情况下做到这一点?
问问题
23492 次
1 回答
25
使用 ashx 处理程序更好,因为它适用于所有浏览器,并且您可以在客户端缓存输出图像。
但是,如果您必须这样做,可以使用<img>
标签直接内联显示图像,如下所示:
<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 大小的限制。
于 2013-02-06T04:08:55.037 回答