如何使用 imagemagick 将图像裁剪成多个矩形网格
How to crop a image into several rectangular grids using imagemagick
如何将大图剪切成网格,以便将较小的图像上传到 Instagram,以组成网格视图中的大图?
我认为 imagemagick 可以用于此。
我不知道 Instagram 网格是什么,也不知道它可能有多大的限制,但是如果你有这样的图像:
你可以把它分成一个网格,3 格宽乘 2 格高:
magick input.jpg -crop 3x2@ tile-%d.png
这里是 6 个方块:
-rw-r--r--@ 1 mark staff 62199 2 Jun 16:26 tile-0.png
-rw-r--r--@ 1 mark staff 75180 2 Jun 16:26 tile-1.png
-rw-r--r--@ 1 mark staff 69615 2 Jun 16:26 tile-2.png
-rw-r--r--@ 1 mark staff 108443 2 Jun 16:26 tile-3.png
-rw-r--r--@ 1 mark staff 121714 2 Jun 16:26 tile-4.png
-rw-r--r--@ 1 mark staff 121384 2 Jun 16:26 tile-5.png
如果您要裁剪成许多较小的部分,最好使用这样的 zero-padded 图块名称,以便它们按顺序排列,如果您希望 re-assemble 它们的话。:
magick input.jpg -crop 5x4@ tile-%04d.png
-rw-r--r-- 1 mark staff 5976 2 Jun 16:33 tile-0000.png
-rw-r--r-- 1 mark staff 15138 2 Jun 16:33 tile-0001.png
-rw-r--r-- 1 mark staff 17625 2 Jun 16:33 tile-0002.png
-rw-r--r-- 1 mark staff 15640 2 Jun 16:33 tile-0003.png
-rw-r--r-- 1 mark staff 12695 2 Jun 16:33 tile-0004.png
-rw-r--r-- 1 mark staff 30138 2 Jun 16:33 tile-0005.png
-rw-r--r-- 1 mark staff 32371 2 Jun 16:33 tile-0006.png
-rw-r--r-- 1 mark staff 30280 2 Jun 16:33 tile-0007.png
-rw-r--r-- 1 mark staff 33469 2 Jun 16:33 tile-0008.png
-rw-r--r-- 1 mark staff 29507 2 Jun 16:33 tile-0009.png
-rw-r--r-- 1 mark staff 34697 2 Jun 16:33 tile-0010.png
-rw-r--r-- 1 mark staff 36322 2 Jun 16:33 tile-0011.png
-rw-r--r-- 1 mark staff 36616 2 Jun 16:33 tile-0012.png
-rw-r--r-- 1 mark staff 40337 2 Jun 16:33 tile-0013.png
-rw-r--r-- 1 mark staff 37466 2 Jun 16:33 tile-0014.png
-rw-r--r-- 1 mark staff 30444 2 Jun 16:33 tile-0015.png
-rw-r--r-- 1 mark staff 36170 2 Jun 16:33 tile-0016.png
-rw-r--r-- 1 mark staff 39400 2 Jun 16:33 tile-0017.png
-rw-r--r-- 1 mark staff 38850 2 Jun 16:33 tile-0018.png
-rw-r--r-- 1 mark staff 36439 2 Jun 16:33 tile-0019.png
要使用 ImageMagick 将任何图像制作成正方形网格,您需要提前确定单元数。像这样的命令首先将输入图像裁剪成一个精确的正方形,然后将该正方形裁剪成 3x3 的较小正方形网格...
convert in.png -gravity center -extent 1:1 -crop 3x3@ out%02d.png
“-extent”将输入裁剪成尽可能大的正方形,因此当它被裁剪成 3x3 网格时,完成的图像也是正方形的。要将图像裁剪成 3x4 网格,您将使用更像这样的命令...
convert in.png -gravity center -extent 3:4 -crop 3x4@ out%02d.png
在该示例中,“-extent”将输入图像裁剪为 3:4 的精确宽高比,因此当您将其裁剪成 3 x 4 块时,它们都是正方形。
这两个示例都将生成具有顺序编号文件名的输出图像,例如 "out01.png"、"out02.png" 等
如果您想按照上传图像的顺序对输出图像进行编号,您可能需要反向编号。您可以在写入输出之前将“-reverse -scene 1”添加到命令中,以获取按照您将用于上传的顺序编号的那些裁剪正方形的文件名。
如果您使用的是 IM7,请将这些命令中的 "convert" 更改为 "magick"。
注意:允许“-extent”使用像“3:4”这样的宽高比的语法自 2018 年初以来才可用。使用旧版本的 ImageMagick 可能需要手动计算第一次裁剪将输入图像设置为适当的宽高比(...或使用 FX 表达式设置视口并使用“-distort”来模拟裁剪)。
如何将大图剪切成网格,以便将较小的图像上传到 Instagram,以组成网格视图中的大图?
我认为 imagemagick 可以用于此。
我不知道 Instagram 网格是什么,也不知道它可能有多大的限制,但是如果你有这样的图像:
你可以把它分成一个网格,3 格宽乘 2 格高:
magick input.jpg -crop 3x2@ tile-%d.png
这里是 6 个方块:
-rw-r--r--@ 1 mark staff 62199 2 Jun 16:26 tile-0.png
-rw-r--r--@ 1 mark staff 75180 2 Jun 16:26 tile-1.png
-rw-r--r--@ 1 mark staff 69615 2 Jun 16:26 tile-2.png
-rw-r--r--@ 1 mark staff 108443 2 Jun 16:26 tile-3.png
-rw-r--r--@ 1 mark staff 121714 2 Jun 16:26 tile-4.png
-rw-r--r--@ 1 mark staff 121384 2 Jun 16:26 tile-5.png
如果您要裁剪成许多较小的部分,最好使用这样的 zero-padded 图块名称,以便它们按顺序排列,如果您希望 re-assemble 它们的话。:
magick input.jpg -crop 5x4@ tile-%04d.png
-rw-r--r-- 1 mark staff 5976 2 Jun 16:33 tile-0000.png
-rw-r--r-- 1 mark staff 15138 2 Jun 16:33 tile-0001.png
-rw-r--r-- 1 mark staff 17625 2 Jun 16:33 tile-0002.png
-rw-r--r-- 1 mark staff 15640 2 Jun 16:33 tile-0003.png
-rw-r--r-- 1 mark staff 12695 2 Jun 16:33 tile-0004.png
-rw-r--r-- 1 mark staff 30138 2 Jun 16:33 tile-0005.png
-rw-r--r-- 1 mark staff 32371 2 Jun 16:33 tile-0006.png
-rw-r--r-- 1 mark staff 30280 2 Jun 16:33 tile-0007.png
-rw-r--r-- 1 mark staff 33469 2 Jun 16:33 tile-0008.png
-rw-r--r-- 1 mark staff 29507 2 Jun 16:33 tile-0009.png
-rw-r--r-- 1 mark staff 34697 2 Jun 16:33 tile-0010.png
-rw-r--r-- 1 mark staff 36322 2 Jun 16:33 tile-0011.png
-rw-r--r-- 1 mark staff 36616 2 Jun 16:33 tile-0012.png
-rw-r--r-- 1 mark staff 40337 2 Jun 16:33 tile-0013.png
-rw-r--r-- 1 mark staff 37466 2 Jun 16:33 tile-0014.png
-rw-r--r-- 1 mark staff 30444 2 Jun 16:33 tile-0015.png
-rw-r--r-- 1 mark staff 36170 2 Jun 16:33 tile-0016.png
-rw-r--r-- 1 mark staff 39400 2 Jun 16:33 tile-0017.png
-rw-r--r-- 1 mark staff 38850 2 Jun 16:33 tile-0018.png
-rw-r--r-- 1 mark staff 36439 2 Jun 16:33 tile-0019.png
要使用 ImageMagick 将任何图像制作成正方形网格,您需要提前确定单元数。像这样的命令首先将输入图像裁剪成一个精确的正方形,然后将该正方形裁剪成 3x3 的较小正方形网格...
convert in.png -gravity center -extent 1:1 -crop 3x3@ out%02d.png
“-extent”将输入裁剪成尽可能大的正方形,因此当它被裁剪成 3x3 网格时,完成的图像也是正方形的。要将图像裁剪成 3x4 网格,您将使用更像这样的命令...
convert in.png -gravity center -extent 3:4 -crop 3x4@ out%02d.png
在该示例中,“-extent”将输入图像裁剪为 3:4 的精确宽高比,因此当您将其裁剪成 3 x 4 块时,它们都是正方形。
这两个示例都将生成具有顺序编号文件名的输出图像,例如 "out01.png"、"out02.png" 等
如果您想按照上传图像的顺序对输出图像进行编号,您可能需要反向编号。您可以在写入输出之前将“-reverse -scene 1”添加到命令中,以获取按照您将用于上传的顺序编号的那些裁剪正方形的文件名。
如果您使用的是 IM7,请将这些命令中的 "convert" 更改为 "magick"。
注意:允许“-extent”使用像“3:4”这样的宽高比的语法自 2018 年初以来才可用。使用旧版本的 ImageMagick 可能需要手动计算第一次裁剪将输入图像设置为适当的宽高比(...或使用 FX 表达式设置视口并使用“-distort”来模拟裁剪)。