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

4
当我使用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 我想要缩放后的图像能够像之前的完整图像一样显示。但是我的输出图像被裁剪了,无法显示输入图像的完整视图。我该怎么做?

@CharlesB 感谢您删除未使用的标签。 - Abhishek B.
2个回答

2
我猜这是因为您使用了以下参数:
-gravity center -extent 100x100

上述参数告诉 ImageMagick:“请从我的图像中心提取一个大小为100x100的区域。要了解更多详细信息,请阅读命令行选项文档。”
因此,解决方案是以下参数:
image_Input.jpg -resize 100x100 image_Output.jpg

从我的实践中:
我不使用 .net 的 ImageMagick 包装器,因为它是 32 位的(至少在半年前是这样),会引起不同的问题。
通常在 Web 应用程序中只需要两个操作:
1. 调整大小
2. 裁剪
以上命令仅使用一个 exe 文件: convert.exe
所以我写了一个小包装器,用于运行带有参数的 convert.exe。
稍后我会在这里发布包装器项目的 Github 链接,如果有人感兴趣的话。

0
你可以使用类似以下的命令:
1)将你的实际图片.png 转换为 -resize 200x200 的新图片.png
这将按比例调整图像大小。
要创建精确尺寸为200x200的图像,可以使用以下命令:
2)将你的实际图片.png 转换为 -resize 200x200! 的新图片.png

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接