[英]Change image size with C# in MVC3?
[HttpPost]
public ActionResult AddImage(Image model)
{
if (model.ImageData != null && model.ImageData.ContentLength > 0)
{
var fileName = Path.GetFileName(model.ImageData.FileName);
var pathBig = Path.Combine(Server.MapPath("~/UploadedImages"), fileName);
var pathSmall = Path.Combine(Server.MapPath("~/UploadedImages"), "small_" + fileName);
// --> How to change image size to big(800 x 600)
// and small (100x80) and save them?
model.ImageData.SaveAs(pathBig);
model.ImageData.SaveAs(pathSmall);
}
}
如何將圖像大小更改為大(800 x 600)到小(100x80)並保存?
你可以嘗試這個庫: http : //nuget.org/packages/ImageResizer
它確實支持asp.net-mvc: http : //imageresizing.net/
或者你可以得到一個純粹的C#lib並在你的應用程序上使用它。 看這些帖子:
調整圖像大小C#
https://stackoverflow.com/a/2861813/368070
我發現這個片段: http : //snippets.dzone.com/posts/show/4336
從框架方法本身執行此操作的最簡單方法是使用Graphics類的DrawImage()方法。
示例代碼可能是:
//For first scale
Bitmap bmp = new Bitmap(800, 600);
Graphics gf = Graphics.FromImage(bmp);
Image userpic = Image.FromStream(/*pass here the image byte stream*/)
gf.DrawImage(userpic, new Rectangle(0,0,800,600))
gf.Save(/* the save path */);
//For second scale
Bitmap bmp = new Bitmap(100, 80);
Graphics gf = Graphics.FromImage(bmp);
Image userpic = Image.FromStream(/*pass here the image byte stream*/)
gf.DrawImage(userpic, new Rectangle(0,0,100,80))
gf.Save(/* the save path */);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.