如何使用imagemagick插入空白区域?

gas*_*ter 18 imagemagick

“转换”(?)需要哪些参数才能从这个 INPUT 得到这个 OUTPUT?

输入:

在此处输入图片说明

输出:

在此处输入图片说明

Kur*_*fle 21

我的 ImageMagick 版本是“6.7.8-0 2012-07-04 Q16”。根据文档,@kev 命令的答案应该有效:

 convert in.png -gravity east -extent 520x352 out.png
Run Code Online (Sandbox Code Playgroud)

但是,与大多数 ImageMagick 问题一样,您可以通过不同的方式实现相同的目标。你可以这样使用montage

 montage null: in.png -tile 2x1 -geometry +17+0 out1.png
Run Code Online (Sandbox Code Playgroud)

这使用特殊的 'null:' 图像将其与in.png.


确实,convert您需要重新计算需要-extent为每个具有不同大小的输入图片传递的值。

首先使用identify -format获取图像的尺寸:

 identify -format '%Wx%H' in.png
Run Code Online (Sandbox Code Playgroud)

这应该返回如下内容:

 449x352
Run Code Online (Sandbox Code Playgroud)

好的,现在您需要添加您想要的 71 像素,以获得最终520x352值。但是您不需要在自己的大脑中进行计算:

ImageMagick 来救援!,及其神奇的计算能力...... :-)

您可以告诉identify -format命令为您进行计算:

 identify -format '%[fx:W+71]x%H'
Run Code Online (Sandbox Code Playgroud)

这现在应该给你一个结果:

 520x352
Run Code Online (Sandbox Code Playgroud)

因此,假设您只想在任何图片的左侧填充/添加 71 像素宽度的“白色条带”,您可以使用以下单个命令行:

 convert \
    in.png \
   -gravity east \
   -background white \
   -extent $(identify -format '%[fx:W+71]x%H' in.png) \
    out2.png
Run Code Online (Sandbox Code Playgroud)

瞧!一个命令行(它封装了 2 个命令,老实说),你可以让这个在你所有的 PNG、JPEG、GIF ......在一个目录中自动添加你的 71pixels 白色条带到每个:

 for i in *.png *.jpeg *jpg *.gif; do
    convert \
       ${i} \
      -gravity east \
      -background white \
      -extent $(identify -format '%[fx:W+71]x%H' ${i}) \
       $(convert ${i} -format "71-pixels-padded-left---%t.%e" info:)
 done
Run Code Online (Sandbox Code Playgroud)

对于每个图像,其输出保持相同的文件类型。当然,您可以强制所有输出为 PNG(或任何您想要的格式)。只需将%t.%e命令的一部分替换为%t.png...


kev*_*kev 9

文档:http : //www.imagemagick.org/Usage/crop/#extent

convert in.png -gravity east -extent 500x352 out.png
Run Code Online (Sandbox Code Playgroud)


小智 9

由于我不希望图像与右侧齐平,因此我不得不使用不同的方法(ImageMagick 的composite工具):

convert -size 500x500 xc:white canvas.png
convert canvas.png in.png -geometry +200+200 -composite out.png
Run Code Online (Sandbox Code Playgroud)

-size应该是你想要的最终图像大小,canvas.png是一个空白的白色画布,in.png是你想要填充的图像,-geometry是定位偏移量。