imagemagick convert命令生成大量图像而不是一个

时间:2013-04-02 12:48:54

标签: java imagemagick image-resizing

我从Java应用程序调用以下命令:

/usr/bin/convert "companies.png" -strip -quality 67 -density 92 -resize "300x>" -crop "300x300>" -format png result.png

但是,在重新调整大小后,我没有获得一张图像,而是以300x300的比例裁剪,而是获得了相同图像的六张切片,每张300像素高,这并不是我所期待的。

有关如何更改此命令以获取一个图像的任何想法?这是一个后端服务,所以有一些产生未知数量的图像并不是很理想。

原始图片可用here

3 个答案:

答案 0 :(得分:2)

它应该适用于此:

/usr/bin/convert "companies.png" -strip -quality 67 -density 92 -resize "300x>" -crop "300x300>+0+0" -format png result.png

答案 1 :(得分:1)

我看到同样的事情。但是,如果我先转换为jpg

convert companies.png companies.jpg

然后在新的jpg上运行你的命令只有一个文件出来(jpg或png输出表现与jpg输入相同)。输入格式似乎很重要,这很奇怪。

/usr/bin/convert "companies.jpg" -strip -quality 67 \
  -density 92 -resize "300x>" -crop "300x300>" \
  -format png result.png  #-> one file result.png

答案 2 :(得分:1)

您只需要将选项-delete 1--1添加到参数列表中。这样,您将从1(序列的第一个图像)到-1(序列的最后一个图像)删除索引范围。结果将是一个result.png文件。

命令行将是这样的:

convert original.png -strip -quality 67 -density 92 -resize '300x>' -crop '300x300>' -format png -delete 1--1 result.png