0

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

如果图片是水平的,那么新的尺寸将是:宽度 = 宽度,高度 = 与宽度成正比。

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

知道如何实现吗?

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

4

2 回答 2

2

来自http://www.imagemagick.org/Usage/resize/的使用参考

convert org.jpg    -resize widthxwidth  final.jpg

例如 widthxwidth 可以是 256x256

将保持纵横比,调整大小将在 256 X 256 像素正方形的边界内完成。

从上面的页面引用:

调整大小将使图像适合请求的大小。它不填充请求的框大小。

于 2010-02-21T03:58:22.367 回答
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
于 2010-02-21T03:57:54.517 回答