为什么ImageResizer总是将我的图像调整为900宽?

时间:2012-04-03 02:58:48

标签: c# asp.net-mvc image-processing image-resizing imageresizer

我正在使用ImageResizer,我修改了核心和webconfig包,并没有更改任何设置,我只是有这行代码,

ImageBuilder.Current.Build(file, name, new ResizeSettings("maxwidth=1024&maxheight=1024"), false, true);

但是保存的图像总是有900个宽度或高度而不是我在代码中要求的1024,为什么会这样?我的原始图像是1600x1200,如何调整为1024x770?

谢谢!

[由ComputerLinguist编辑]

OP正在使用uEditor javascript库来执行图片上传。

2 个答案:

答案 0 :(得分:4)

事实证明原始图像在被发送到服务器之前通过uEditor javascript库在客户端上调整大小。

OP正确使用ImageResizer library,并且该库正常行为,但它正在接收已经900像素宽的图像。

调整大小的图像小于所需的常见原因是原始图像已小于请求的尺寸,在这种情况下,ImageResizer将执行倍增。如果您想要升级,请添加& scale = both & scale = upscalecanvas

答案 1 :(得分:1)

根据the documentation,纵横比保持两个最大参数。一旦1600缩小到1024,另一个方面将总是远小于1024.如果你想要它更大,只在最小尺寸上设置最大值。

  

MaxWidth [get,set] [“maxwidth”]:设置所需的最大宽度   图片。 (减去填充,边框,边距,效果和旋转)。   图像可以小于该值以保持纵横比   指定了maxwidth和maxheight。