0

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

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

但是,我没有返回一张图像,在调整大小后裁剪为 300x300,而是获得了相同图像的六个切片,每个切片高 300 像素,这并不是我所期望的。

关于如何更改此命令以仅获取一张图像的任何想法?这是一个后端服务,因此拥有生成未知数量图像的东西并不是很理想。

原始图像可在此处获得

4

3 回答 3

2

它应该与这个一起工作:

/usr/bin/convert "companies.png" -strip -quality 67 -density 92 -resize "300x>" -crop "300x300>+0+0" -format png result.png
于 2013-04-02T13:04:19.973 回答
1

我看到同样的事情。但是,ff我先转换为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
于 2013-04-02T13:04:39.673 回答
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
于 2013-04-02T13:28:11.243 回答