簡體   English   中英

如何在保存之前從遠程URL調整圖像大小

[英]How can I resize an Image from remote URL before saving it

這是我保存圖像的代碼。 該代碼工作正常,我沒有任何問題。

Guid id = Guid.NewGuid();      

string strRealname = Path.GetFileName(ImageUrl);
string exts = Path.GetExtension(ImageUrl);

WebClient webClient = new WebClient();
webClient.DownloadFile(ImageUrl, Server.MapPath("~/Images/") + id + exts);

我希望能夠根據我的SET尺寸保存圖像。 例如:我下載的圖片是600x300。 我想保留原始尺寸(2:1)並將其另存為400x200。 我怎樣才能做到這一點?

編輯:也許我應該強調這一點。 我不想從URl中保存原始圖像。 一些圖像的寬度或高度將超過1000px。 我想在保存之前縮小尺寸。 這將完成1000張圖片,而我不希望我的服務器用完磁盤空間。

有很多方法可以做到這一點,但是最簡單的方法可能是使用GDI +和Graphics類。

無需下載文件,而是下載流並使用Bitmap.FromStream從該對象創建一個Bitmap對象。

然后使用所需的尺寸創建一個新的位圖,並使用Graphics.FromImage創建將繪制到該圖像的Graphics對象。

最后,使用Graphics.DrawImage將下載的圖像繪制到新圖像。 將調整大小后的圖像的尺寸傳遞給方法,您將獲得一個Bitmap對象,其中包含准備好寫入磁盤的調整大小后的圖像。

注意:目前我無法設置一個完整的示例,但這足以使您理清該示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM