ImageMagick:拆分图像并转换为 .webp 会生成 1 个图像

问题描述 投票:0回答:1

我正在使用脚本将四布局 Midjourney 输出拆分为 4 个单独的图像:

splitName="${filename}-split.png"
convert -crop 50%x50% $input $splitName

这很好用。输入

image.png
,我得到:

  • image-split-1.png
  • image-split-2.png
  • image-split-3.png
  • image-split-4.png

我想通过将图像转换为 WebP 格式来对图像进行一些轻量级压缩。但是,当我像这样更改输出名称行时:

splitName="${filename}-split.webp"

脚本运行,但我只得到一张图片:

image-split.webp
。其他 3 张图像在哪里?

imagemagick webp
1个回答
0
投票

我决定多写一点。在 Imagemagick 中,某些格式(例如 TIFF、GIF、PDF 和显然是 WEBP)可以创建多帧文件。也就是说,它们在一个文件中包含多个图像。 JPG 和 PNG 等格式不支持该格式。在后者中,您将获得多个输出图像,而不是一个包含多个图像的文件。

所以为了让用户选择 TIFF、GIF、WEBP 等,有 adjoin 运算符。 -adjoin 将图像合并到一个文件中。 +adjoin 会将它们作为单独的文件保存。

所以在上面的例子中,如果

convert $input -crop 50%x50% +repage $splitName

制作一个包含多个帧/页面/图像的文件(用于 TIFF、GIF 等)

我们能做到

convert $input -crop 50%x50% +repage +adjoin $splitName

将输出保存为多个图像文件,而不是一个包含多个图像的文件。

+repage 用于移除 GIF 或 PNG 或 TIFF 或其他支持它的格式的虚拟画布几何图形。请注意,JPG 不支持它。虚拟画布几何形状将裁剪前的输入尺寸和裁剪后的左上角作为元数据保留在输出文件中。

© www.soinside.com 2019 - 2024. All rights reserved.