使用ImageMagick检测图片方向

时间:2010-02-21 03:45:17

标签: .net imagemagick magicknet

我想使用一个参数将图片调整为新尺寸:宽度。

如果图片是水平的,则新尺寸为:width =宽度,高度=与宽度成比例。

如果图片是垂直的,则新尺寸将为:height =宽度,宽度=与高度成正比。

知道如何实现这个吗?

我正在使用带有MagickNet包装器的ImageMagick。

2 个答案:

答案 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