Linux 批处理(gimp、imagemagick)将背景图像添加到一系列透明 png
Linux batch (gimp, imagemagick) add background image to series of transparent pngs
是否可以为一系列透明 png 添加不同的背景图像?
喜欢:转换 sourceimage.png -背景 BackgroundPicture -flatten destinationimage.png
当然应该将背景图像降低到框架的底部。
提前致谢
ImageMagick 的 convert
不是正确的工具。请改用 ImageMagick 的 coomposite
。如果所有图像的大小都相同,这很简单:
composite -compose atop Foreground.png Background.png Final.png
实际上转换比复合好。复合材料旧且不太灵活。 ImageMagick 中具有透明度的前景图像和不透明背景图像的转换语法为
convert backgroundimage.png foregroundimage.png -compose over -composite result.png
如果将所有背景图像都放在一个文件夹中(例如 test1),您还可以将相同的前景图像应用于许多背景图像。将前景图像保留在该文件夹之外,除非其后缀与该文件夹中的所有文件都不同。然后创建一个新文件夹(比如 test2)来保存结果。然后使用带 alpha 组合的 mogrify 来处理所有文件。
cd path2/test1
mogrify -format png -path path2/test2 -gravity center -draw "image over 0,0 0,0 'path2/foreground.png'" *.png
其中 path2 是给定文件夹或文件的实际路径。
见http://www.imagemagick.org/Usage/basics/#mogrify and http://www.imagemagick.org/Usage/basics/#mogrify_compose
如果您将所有前景图像放入一个文件夹 (test1) 并执行以下操作,则可以采用另一种方式将不同的前景图像放到给定的背景图像上:
mogrify -format png -gravity center -draw "image dst_over 0,0 0,0 'path2/background.png'" *.png
是否可以为一系列透明 png 添加不同的背景图像?
喜欢:转换 sourceimage.png -背景 BackgroundPicture -flatten destinationimage.png
当然应该将背景图像降低到框架的底部。
提前致谢
ImageMagick 的 convert
不是正确的工具。请改用 ImageMagick 的 coomposite
。如果所有图像的大小都相同,这很简单:
composite -compose atop Foreground.png Background.png Final.png
实际上转换比复合好。复合材料旧且不太灵活。 ImageMagick 中具有透明度的前景图像和不透明背景图像的转换语法为
convert backgroundimage.png foregroundimage.png -compose over -composite result.png
如果将所有背景图像都放在一个文件夹中(例如 test1),您还可以将相同的前景图像应用于许多背景图像。将前景图像保留在该文件夹之外,除非其后缀与该文件夹中的所有文件都不同。然后创建一个新文件夹(比如 test2)来保存结果。然后使用带 alpha 组合的 mogrify 来处理所有文件。
cd path2/test1
mogrify -format png -path path2/test2 -gravity center -draw "image over 0,0 0,0 'path2/foreground.png'" *.png
其中 path2 是给定文件夹或文件的实际路径。
见http://www.imagemagick.org/Usage/basics/#mogrify and http://www.imagemagick.org/Usage/basics/#mogrify_compose
如果您将所有前景图像放入一个文件夹 (test1) 并执行以下操作,则可以采用另一种方式将不同的前景图像放到给定的背景图像上:
mogrify -format png -gravity center -draw "image dst_over 0,0 0,0 'path2/background.png'" *.png