如何将我的图像处理程序与图像控件绑定?

时间:2012-07-25 15:50:41

标签: c# asp.net

我一直在环顾四周并阅读有关处理程序的内容,但我并不完全了解如何根据我的情况实施它们。

我想从用户的剪贴板显示截图。我已经有了将剪贴板中的图像检索为位图格式的代码。这就是我所拥有的:

var dataobj = new DataObject();
dataobj = (DataObject)Clipboard.GetDataObject();

System.Drawing.Image img = dataobj.GetData(DataFormats.Bitmap) as System.Drawing.Image;
original = (System.Drawing.Image)img.Clone();

img = resizeImage(img, new Size(670, 500));
String s = "c:/Temp/temp.png";
img.Save(s, ImageFormat.Png);
Image1.ImageUrl = s;
Image1.DataBind();

我的问题是我无法将图像保存到硬盘。

我的第一个问题是图像处理程序会在这种情况下帮助我吗?

如果可以,我如何修改该代码并使用以下代码将其绑定到我的图像处理程序中:

public class getmyimage : IHttpHandler 
{
  public void ProcessRequest(HttpContext context)
  {
    HttpResponse r = context.Response;
    r.ContentType = "image/png";
    // Write the requested image
    r.WriteFile("temp.png");
  }

  public bool IsReusable
  {
    get { return false; }
  }
}

2 个答案:

答案 0 :(得分:1)

Hello处理程序http允许客户重定向或重写请求,出于安全原因格式化请求标头,或在某些论坛中显示横幅。但是对于你的例子,我认为你不需要http处理程序

答案 1 :(得分:0)

在web.config文件中配置处理程序并将URL分配给ImageURL属性或使用带有“ashx”扩展名的通用处理程序文件,如果使用ASHX,则无需在web.config文件中进行配置。将ASHX文件路径分配给ImageURL属性。如果要渲染动态图像,请确保清除缓存或在子序列调用中使用不同的URL,否则您将获得缓存图像。 这是博客条目。

http://www.developerfusion.com/code/5223/using-ashx-files-to-retrieve-db-images/

http://www.eggheadcafe.com/community/asp-net/17/10093602/how-to-populate-image-form-sql-to-image-control.aspx