有没有办法在ASP图像控件上显示动态生成的位图?

13

在我的代码中,我使用C#和ASP.NET动态创建了一个位图。然后我需要在ASP图片控件上显示它。有没有不使用处理程序的方法来实现?

1个回答

28

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

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

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

ASPX:

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

计算机科学:

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数据,抱歉=/ 如果难以解释,告诉我,我会找到方法。 - user2042023
你能解释一下如何使用ashx处理程序来完成吗? - aiden87
代码会相当相似。您只需直接从处理程序输出标题和字节数据即可。注释非常适合共享代码。如果您对此有疑问,请指出来,我可以将代码粘贴在那里。 - nunespascal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接