2012-07-25 79 views
0

我一直在環顧四周,閱讀關於處理程序,但我不完全瞭解如何實施他們爲我的情況。如何將圖像處理程序與圖像控件綁定?

我想顯示用戶的剪貼板截圖。我已經有了將剪貼板中的圖像檢索爲位圖格式的代碼。這是我有:

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; } 
    } 
} 
+0

如果這是ASP.NET,你是如何捕捉用戶剪貼板中的服務器上? – freefaller 2012-07-25 15:54:28

+0

創建一個新的STA線程捕獲服務器上用戶的剪貼板。我想我沒有在非本地測試它,但剪貼板在我實現這個之前總是返回null。 – tareqx3 2012-07-25 15:57:27

回答

1

你好處理HTTP允許客戶重定向或重寫請求,出於安全考慮要求的格式標題,或在某些論壇中顯示橫幅。但對於你的例子,我認爲你不需要http處理器

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