如何使用imagemagick调整图像大小?

时间:2011-04-04 07:07:07

标签: c# imagemagick image-manipulation image-resizing

当我使用imagemagick调整图像大小时,它显示为裁剪。 我使用下面的代码来调整图像大小

ImageMagickObject.MagickImage imgLarge = new ImageMagickObject.MagickImage();
 object[] o = new object[] { "image_Input.jpg", "-resize", size, "-gravity", "center", "-colorspace", "RGB", "-extent", "100x100", "image_Output.jpg" };
imgLarge.Convert(ref o);

在调整图像大小之前,请参见下图 enter image description here
图像调整大小后见下图

enter image description here

我确实希望在重新调整大小之前调整显示完整图像的图像。 在我的输出图像中它变得像裁剪未显示的输入图像的完整视图。
我怎么做?

4 个答案:

答案 0 :(得分:2)

我想这是因为你使用以下参数:

-gravity center -extent 100x100

以上参数与ImageMagick交谈:“请从我的图像中心提取尺寸为100x100的区域。有关详细信息,请阅读command line options documentation

因此,关注args:

image_Input.jpg -resize 100x100 image_Output.jpg

从我的实践中:

我没有使用.net的image magick包装器,因为它是32位(至少半年前),它会导致不同的问题。

一般来说,在Web应用程序中通常只需要两个操作:
1.Resize
2.Crop
上面的命令只使用一个exe文件:convert.exe

所以我做了一个小包装器,它运行带有参数的convert.exe。

MB稍后我会在这里发布github url到包装项目,如果有人对它感兴趣的话。

答案 1 :(得分:1)

请使用这个问题的答案,你得到你想要的东西!!!

How to compress jpg image?

答案 2 :(得分:0)

答案 3 :(得分:0)

您可以使用以下内容:

1)转换youractualimage.png -resize 200x200 newimage.png

这会在宽高比中调整图像大小。

要创建精确尺寸为200x200的图像,可以使用

2)转换youractualimage.png -resize 200x200! newimage.png