我有一个具有生成图像的库的ASP.NET应用程序。它的设置如下:
在Web.config中,部分中有一个声明,如下所示:
<add path="My.image.aspx" verb="GET" type="MyProject.Handlers.MyImageHandler, MyProject" validate="false"/>这将代码链接到生成图像的路径,然后在我的.aspx页面中使用该路径,如下所示:
<asp:Image ImageUrl="My.image.aspx" BorderWidth="0" ID="myImage" runat="server"/>正常查看此页时,图像将正确加载。
但是,我需要将这个图像输出到一个PDF文件中,但是由于PDF不能正确地使用该URL解释页面HTML (说它找不到资源,因为这些文件仅限于解释基本的HTML/CSS),所以我想尝试将图像加载到后面的代码中并以这种方式输出到PDF中。但是,我不知道如何在后面的代码中加载这个图像。我尝试了以下几点:
System.Drawing.Image img = System.Drawing.Image.FromFile("My.image.aspx");但没有运气。是否有适当的方法从我指定的httpHandler后面的代码中加载此图像?
编辑:--我找到了一个解决办法,因为我无法从后面的代码中加载图像。相反,我只是使用控件加载页面上的文件并触发处理程序。当处理程序创建System.Drawing.Image文件时,我能够将它添加到会话对象中,以便稍后在该页面上使用。但是,如果不使用前端ASP控件,我仍然无法从后面的代码中找到触发所有这些的方法。
发布于 2012-07-20 15:35:28
you :图像具有和id为myImage
所以在后面的代码中,您可以这样使用它。
using (Bitmap theImage = new Bitmap("My.image.aspx"))
{
using(MemoryStream stream = new MemoryStream())
{
theImage .Save(stream , System.Drawing.Imaging.ImageFormat.Png);
stream .WriteTo(context.Response.OutputStream);
}
}https://stackoverflow.com/questions/11582424
复制相似问题