我正在尝试通过以下命令行按高度裁剪图像:
convert 1053257.png -gravity South -crop 2910x3312+0+0 -background black +repage image-cropped-top.png
生成的图像无法正确裁剪,因为运行命令后的尺寸为 2791 x 3312 。 宽度也被裁剪了!
任何人都可以帮忙吗?
答案 0 :(得分:2)
一般形式为:
convert input.jpg -crop WIDTHxHEIGHT+0+0 result.jpg
如果要裁剪为特定宽度,例如1024,那么高度不受影响:
convert image.jpg -crop 1024x+0+0 result.jpg
如果您想裁剪到特定的高度(例如768),则不影响宽度-请注意高度在 x
之后:
convert image.jpg -crop x768+0+0 result.jpg
如果要裁剪为最大宽度和高度,请说1024宽乘768高,而不会扭曲宽高比:
convert image.jpg -crop 1024x768+0+0 result.jpg
如果要裁剪为特定的宽度和高度,请说1024宽乘768高,并乐意允许严重失真:
convert image.jpg -crop 1024x768+0+0\! result.jpg
将感叹号认为是“就做吧!” 。请注意,只有在Linux / Unix / macOS上才需要使用反斜杠来避免出现感叹号,而在Windows上则省略了反斜杠。
请注意,如果您要以PNG格式保存裁剪后的图像,则可能要在以后重置页面,以便图像“忘记” 曾经是较大图像的一部分:
convert input.jpg -crop 1024x768+0+0 +repage result.png
答案 1 :(得分:2)
如果使用ImageMagick,则在裁剪之前对图像进行“修剪”时,可能会出现类似的问题。当您“修剪”图像时,它仍然可以记住修剪之前的原始页面尺寸,然后进行裁剪时,它将这些页面尺寸用作裁剪的起始参考。您可能需要在裁剪之前进行“ +重新分页”才能开始新的分页信息。尝试这样的事情...
convert 1053257.png -gravity South +repage -crop 2910x3312+0+0 +repage image-cropped-top.png