当我使用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);
在调整图像大小之前,请参见下图
图像调整大小后见下图
我确实希望在重新调整大小之前调整显示完整图像的图像。
在我的输出图像中它变得像裁剪未显示的输入图像的完整视图。
我怎么做?
答案 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)
请使用这个问题的答案,你得到你想要的东西!!!
答案 2 :(得分:0)
http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing为什么要使用imagemagick。试试这个
答案 3 :(得分:0)
您可以使用以下内容:
1)转换youractualimage.png -resize 200x200 newimage.png
这会在宽高比中调整图像大小。
要创建精确尺寸为200x200的图像,可以使用
2)转换youractualimage.png -resize 200x200! newimage.png