我想使用ImageMagick(linux命令行)执行以下操作:将图像A的大小调整为其大小的125%,然后将其放在较大的图像B上 - 在B的中心,但向右偏移175px
以下对我不起作用,从我正在阅读的内容来看,它应该:
composite -gravity center -geometry '125%+175+0' <imageA_path> <imageB_path> <output_file_path>
我也试过这个没有运气:
convert <imageA_path> -resize 125% | composite -gravity center -geometry +175+0 - <imageB_path> <output_file_path>
有没有人有任何建议?谢谢!
答案 0 :(得分:0)
对于resize命令,您需要指定并输入图像和输出图像。您还需要在复合命令上指定输入图像。
convert <imageA_path> -resize 125% <resized_imageA_path> | composite -gravity center -geometry +175+0 <resized_imageA_path> <imageB_path> <output_file_path>
您可以使用相同的,但这将使用调整大小的版本覆盖原始imageA。
如果指定新的图像路径/名称,则会将调整大小保存为新图像。如果您不想保留这些图像,那么您可以指定一个目录,您可以在其中轻松删除在那里创建的所有图像。
希望有所帮助。
编辑:没关系,我刚看到你的评论。答案 1 :(得分:0)
就像Moogle的答案一样,你可以用这两个命令来解决你的问题 - 但是使用-
你可以获得管道的全部功能。
convert <imageA_path> -resize 125% - | composite -gravity center -geometry +175+0 - <imageB_path> <output_image_path>
应该没有中间文件。
答案 2 :(得分:0)
您可以使用堆栈
使用单个命令行执行此操作composite -gravity center -geometry +175+0 \( -resize 125% <imageA_path> \) <imageB_path> <output_file_path>
括号中的操作首先运行,结果用于代替文件。确保\(
和\)
分隔符周围有空格,否则您将收到解析错误。