WebImageCroptoSquare有谁知道如何使用新的ASP.NetMVC3HtmlHelperWebImage将上传的文件裁剪成正方形。如果可能的话,我希望它居中。在过去的几个小时里,我一直在努力解决这个问题……感谢任何帮助!这个场景就像用户上传一张图片一样简单,然后将其调整为正方形,以便稍后在网站中用作缩略图。这对我有用,希望它能节省别人一些时间......!privatestaticvoidCropImage(HttpPostedFileBasesourceImage){varnewImage=newWebImage(sourceImage.InputStream);varwidth=newImage.Width;varheight=newImage.Height;如果(宽度>高度){varleftRightCrop=(宽度-高度)/2;newImage.Crop(0,leftRightCrop,0,leftRightCrop);}elseif(height>width){vartopBottomCrop=(height-width)/2;newImage.Crop(topBottomCrop,0,topBottomCrop,0);}//对裁剪后的图像做一些事情...//newImage.GetBytes();我推荐使用Jquery图像裁剪插件。因为我不认为自动裁剪正方形是可能的,因为你可以删除图像的主要部分,例如,如果用户照片你可以裁剪他的头。图像裁剪插件易于使用。用户只需选择他想要用作预览的内容。在服务器端,您可以查看起始坐标和宽度/高度。对于服务器端的图像大小调整/裁剪,我使用imagemagick。.net上有一个imagemagic的包装器。还要注意包装,因为它只有32位。我根据需要开发了自己的图像魔术包装器。但我相信这可以通过.net轻松完成。如果您仍然认为自动裁剪是您所需要的,我建议裁剪图像的最大中心,然后调整到您想要的大小。希望这可以帮助。PS我不知道,但我不认为这样的任务可以用mvcWebImage完成。这是一个从中心裁剪图像但保持所需比例的小函数。我用它来裁剪画廊等图片以上就是C#学习教程:WebImage裁剪成正方形分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望你多多关注——image.Height;内部差异;//图像比目标宽if(currentImageRatio>targetRatio){inttargetWidth=Convert.ToInt32(Math.Floor(targetRatio*image.Height));difference=image.Width-targetWidth;intleft=Convert.ToInt32(Math.Floor(差/(小数)2));intright=Convert.ToInt32(Math.Ceiling(差/(小数)2));image.Crop(0,左,0,右);}//imageishigherthantargetedelseif(currentImageRatio本文采集自网络,不代表立场,如涉及侵权,请右击联系管理员删除,如需转载,请注明出处:
