2012-03-29 60 views
0

我正在編寫一個應用程序(使用Web表單的.NET 4.0)。我喜歡做的是讓用戶能夠看到他們存儲在目錄中的圖像,並能夠對其圖片進行更改(縮放,旋轉,裁剪等)。我可以在winforms中進行縮放,旋轉和裁剪,但我無法弄清楚如何在不保存aspx的情況下顯示它。我想使用aspx在網頁上旋轉圖像

所以想象圖像A顯示在圖像控件中。用戶點擊它進行縮放。我把它傳遞給一個方法。它旋轉。但我如何重新顯示它旋轉?我必須保存圖像然後顯示它嗎?也許我正在談論這一切都是錯誤的。有人有一個示例代碼來完成此?示例代碼在aspx上顯示圖像並旋轉並顯示旋轉的圖像。

感謝

+0

我試圖在窗體上放置Web控件圖像的基本。但是對於aspx,我沒有那麼強大,特別是對圖像。我只是要求幫助 – 2012-03-29 17:56:19

回答

3

試試這個:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    // get the full path of image url 
    string path = Server.MapPath(Image1.ImageUrl) ; 

    // creating image from the image url 
    System.Drawing.Image i = System.Drawing.Image.FromFile(path); 

    // rotate Image 90' Degree 
    i.RotateFlip(RotateFlipType.Rotate90FlipXY); 

    // save it to its actual path 
    i.Save(path); 

    // release Image File 
    i.Dispose(); 

    // Set Image Control Attribute property to new image(but its old path) 
    Image1.Attributes.Add("ImageUrl", path); 
} 
+0

我必須保存到原始圖像嗎?它不能在內存中嗎?換句話說,我不想觸摸原始圖片,直到他們滿意爲止。 – 2012-03-29 17:57:02

+0

您必須保存它,然後進行所需的任何更改。如果用戶不希望用戶保存到合適的位置,則可以將它保存在文件夾中,如果它們單擊像應用那樣應用旋轉,否則刪除來自您的文件夾的圖像。 – coder 2012-03-29 17:57:38

+0

我喜歡這個想法。就像根據會話ID創建臨時文件夾一樣工作。感謝您的幫助 – 2012-03-29 18:01:28

1

也許這個鏈接將指向您在正確的方向。 ASP.NET friendly image editor

Win和Web表單是兩個完​​全不同的野獸,並且每次更改都沒有將它保存到服務器上,您真的希望讓客戶端處理大部分工作,直到它們保存爲止。