我想使用一个参数将图片调整为新大小:宽度。
如果图片是水平的,那么新的尺寸将是:宽度 = 宽度,高度 = 与宽度成正比。
如果图片是垂直的,那么新的尺寸将是:高度=宽度,宽度=与高度成正比。
知道如何实现吗?
我正在使用带有 MagickNet 包装器的 ImageMagick。
我想使用一个参数将图片调整为新大小:宽度。
如果图片是水平的,那么新的尺寸将是:宽度 = 宽度,高度 = 与宽度成正比。
如果图片是垂直的,那么新的尺寸将是:高度=宽度,宽度=与高度成正比。
知道如何实现吗?
我正在使用带有 MagickNet 包装器的 ImageMagick。
来自http://www.imagemagick.org/Usage/resize/的使用参考
convert org.jpg -resize widthxwidth final.jpg
例如 widthxwidth 可以是 256x256
将保持纵横比,调整大小将在 256 X 256 像素正方形的边界内完成。
从上面的页面引用:
调整大小将使图像适合请求的大小。它不填充请求的框大小。
我不确定你在这里的意思。您说您只想定义宽度,但是在“垂直”情况下,您将高度设置为宽度?无论如何,如果您想仅使用宽度来调整大小,请使用以下伪代码:
ratio = width / height
newWidth = <the new width>
newHeight = newWidth / ratio
如果要将最长尺寸调整为给定值,请尝试以下操作:
ratio = width / height
if ratio > 1 // wider than it is tall
newWidth = <theValue>
newHeight = newWidth / ratio
else // taller than it is wide
newHeight = <theValue>
newWidth = newHeight * ratio