我想使用一个参数将图片调整为新尺寸:宽度。
如果图片是水平的,则新尺寸为:width =宽度,高度=与宽度成比例。
如果图片是垂直的,则新尺寸将为:height =宽度,宽度=与高度成正比。
知道如何实现这个吗?
我正在使用带有MagickNet包装器的ImageMagick。
答案 0 :(得分:2)
来自http://www.imagemagick.org/Usage/resize/的使用参考
convert org.jpg -resize widthxwidth final.jpg
e.g。 widthxwidth可以是256x256
将保留纵横比,并且将在256 X 256像素正方形的边界内完成调整大小。
从上面的页面引用:
调整大小会使图像适合 要求的尺寸。它没有填补, 请求的盒子大小。
答案 1 :(得分:1)
我不确定你的意思。您说您只想定义宽度,但在“垂直”情况下,您将高度设置为宽度?无论如何,如果你想仅使用宽度来调整大小,请使用这个伪代码:
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