Asp.net mvc 将未知大小的图像调整为特定大小而不变形?

Asp.net mvc 将未知大小的图像调整为特定大小而不变形?,asp.net-mvc,image-resizing,Asp.net Mvc,Image Resizing,我想从Asp.net MVC中的用户处获取一个图像,并将其调整为特定大小,但我必须将其调整为特定大小而不变形。我没有问题,如果图像的某些部分被裁剪,但我不希望如果用户上传4000X2000px图像,我裁剪600X600的图像,并丢失图像的许多部分 我该怎么做?有没有这样的算法?或者.net中是否有任何源代码 我找到了解决方案: using (var bitmap = new Bitmap(image.InputStream))

我想从Asp.net MVC中的用户处获取一个图像,并将其调整为特定大小,但我必须将其调整为特定大小而不变形。我没有问题,如果图像的某些部分被裁剪,但我不希望如果用户上传4000X2000px图像,我裁剪600X600的图像,并丢失图像的许多部分

我该怎么做?有没有这样的算法?或者.net中是否有任何源代码

我找到了解决方案:

               using (var bitmap = new Bitmap(image.InputStream))
                       {
                           var width = bitmap.Width;
                           var height = bitmap.Height;


                           double widthRatio = (double)600 / width;
                           double heightRatio = (double)600 / height;
                           double ratio = widthRatio > heightRatio ? widthRatio : heightRatio;


                           var resizedWidth = width < height ? 600 : (int)(width * ratio);
                           var resizedHeight = height < width ? 600 : (int) (height * ratio);


                           var converter = new ImageConverter();
                           var image =
                      new WebImage((byte[])converter.ConvertTo(bitmap, typeof(byte[])))
                      .Resize(resizedWidth, resizedHeight)
                      .Crop((resizedHeight - 600) / 2, ((resizedWidth - 600)/ 2), ((resizedHeight - 600) / 2), ((resizedWidth - 600) / 2));
          }
使用(var位图=新位图(image.InputStream))
{
var width=位图宽度;
var-height=位图.height;
双宽比=(双)600/宽;
双倍高度比率=(双倍)600/高度;
双比值=宽比值>高比值?宽比值:高比值;
var resizedWidth=宽度<高度?600:(int)(宽度*比率);
var resizedHeight=高度<宽度?600:(int)(高度*比率);
var converter=新的图像转换器();
var图像=
新的WebImage((字节[])转换器.ConvertTo(位图,typeof(字节[])))
.Resize(resizedWidth,resizedHeight)
.Crop((resizedhight-600)/2、((resizedWidth-600)/2、((resizedhight-600)/2、((resizedWidth-600)/2));
}

谢谢,老兄,我知道如何裁剪c#中的图像,但正如我所说,如果用户上载例如4000X2000px图像,我不希望裁剪600X600,并丢失图像的许多部分。现在我了解您的要求。“如果图像的某个部分被裁剪,我没有问题”-让我困惑。