调整图像大小而不会丢失质量MVC 4

Ami*_*mir -1 .net asp.net asp.net-mvc c#-4.0 asp.net-mvc-4

我只是想重新调整图像尺寸而不会失去质量我可以使用它吗?

[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
   WebImage img = new WebImage(file.InputStream);
   if (img.Width > 1000)
   img.Resize(1000, 1000);
   img.Save("path");
   return View();
}
Run Code Online (Sandbox Code Playgroud)

或WebImage调整大小但丢失图像质量?谢谢

Moh*_*deh 6

这是我使用的代码.ResizeImage在您的操作中调用方法.

public class Size
{
    public Size(int width, int height)
    {
        Width = width;
        Height = height;
    }
    public int Width { get; set; }
    public int Height { get; set; }
}

public static bool ResizeImage(string orgFile, string resizedFile, ImageFormat format, int width, int height)
{
    try
    {
        using (Image img = Image.FromFile(orgFile))
        {
            Image thumbNail = new Bitmap(width, height, img.PixelFormat);
            Graphics g = Graphics.FromImage(thumbNail);
            g.CompositingQuality = CompositingQuality.HighQuality;
            g.SmoothingMode = SmoothingMode.HighQuality;
            g.InterpolationMode = InterpolationMode.HighQualityBicubic;
            Rectangle rect = new Rectangle(0, 0, width, height);
            g.DrawImage(img, rect);
            thumbNail.Save(resizedFile, format);
        }

        return true;
    }
    catch (Exception)
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)