如何在Unix中将图像削减30%?


15

我想从图像顶部削减30%。我知道线程如何将非常大的栅格图像切成较小的块?但是没有成功的方法,因为我无法找到仅按绝对值尺寸convert从零到结尾的距离度量。伪码

convert -crop-y -units-percentage 0x30 heart.png 

图1输入图

在此处输入图片说明

我可以用LaTeX来完成任务,adjustbox但是pdf文件中的输出并不是真正的最终结果,而是它的演示。因此,从pdf文档复制图像会得到原始图像。因此这种方法失败了。


1
您可以使用imagemagick identify来查看图像的大小。
pfnuesel

一般方法是使用来在命令行上插入所需的值$(command)。然后,您只需要编写命令行即可计算所需的值。在这里,您将要求用convert来描述图像并将其通过管道传输到awk,在其中您可以匹配所需的值并进行必要的计算并打印出结果。
托尔比约恩Ravn的安徒生

Answers:


23

不过,在这种情况下,您可以裁剪一定比例的图像,以避免运行其他命令来获取图像的高度和宽度(以计算默认为相对于左上角的裁剪偏移),您还必须裁剪相对于重力(以便您的裁剪偏移位置相对于图像的左下角):

convert -gravity SouthWest -crop 100x70%x+0+0 infile.jpg outfile.jpg

确认,此方法有效!--您可以颠倒这种方法,例如NorthWest从下往上切割。大!
莱奥列奥波尔德赫兹준 영

5

该命令应为:

convert heart.png -gravity south -crop 100x70% +repage heart-out.png

1
@LéoLéopoldHertz준영我误解了这个问题,请尝试编辑
GAD3R

1
您的新方法削减的是绝对单位,而不是百分比。现在,从顶部开始正确的切割方向。
莱奥列奥波尔德赫兹준 영
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.