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);

在图像调整大小之前见下图 在图像调整 在此处输入图像描述
大小后见下图如下所示

在此处输入图像描述

我完全希望调整大小的图像显示完整图像,如调整大小之前所示。在我的输出图像中,它就像被裁剪,没有显示输入图像的完整视图。
我该怎么办?

4

4 回答 4

2

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

-gravity center -extent 100x100

以上参数与 ImageMagick 对话:“请从我的图像中心提取大小为 100x100 的区域。有关更多详细信息,您可以阅读命令行选项文档

因此,解决方案遵循 args:

image_Input.jpg -resize 100x100 image_Output.jpg

根据我的实践:

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

一般在web应用程序中通常只需要两个操作:
1.Resize
2.Crop
以上命令只使用一个exe文件:convert.exe.

所以我已经完成了带有参数运行 convert.exe 的小型包装器。

MB 稍后,如果有人对此感兴趣,我会在此处发布 github url 来包装项目。

于 2011-04-04T08:44:05.887 回答
1

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

如何压缩jpg图像?

于 2011-04-04T07:12:22.467 回答
0

你可以使用这样的东西:

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

这将以纵横比调整图像大小。

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

2) 转换 youractualimage.png -resize 200x200!新图像.png

于 2013-05-23T15:29:10.460 回答
0

http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing为什么要使用 imagemagick。尝试这个

于 2011-04-04T07:17:43.360 回答