编程语言
首页 > 编程语言> > c# – 如何使用imagemagick调整图像大小?

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

作者:互联网

当我使用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);

在调整图像大小之前,请参见下图

图像调整大小后,请参见下图,如下所示

我确实希望调整大小的图像显示完整图像,如图所示重新调整大小.
在我的输出图像中它变得像裁剪未显示的输入图像的完整视图..我怎么办?

解决方法:

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

-gravity center -extent 100x100

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

因此,关注args:

image_Input.jpg -resize 100x100 image_Output.jpg

从我的实践:

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

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

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

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

标签:c,image-resizing,imagemagick,image-manipulation
来源: https://codeday.me/bug/20190630/1339575.html