Pis*_*tos 9 graphics imagemagick images graphicsmagick
或者:如何使用非方形 PNG 并用透明度“填充”图像的“其余部分”,以便生成的方形图像将原始图像置于正方形的中心?
最终,我想要的是拍摄任何尺寸的任何 GM 支持格式的任何图像,并创建一个缩小的 PNG(例如,任一尺寸最大 40 像素),保持纵横比,为非方形填充透明度原始图像,并应用了已经准备好的 40x40 PNG 透明蒙版。
我已经知道如何缩小并保持纵横比;我已经有了应用我的复合材料的命令。我唯一缺少的部分是方形化非方形图像(用透明度填充)。
首选单命令;多命令链可接受。
(编辑)
额外信息:这是我正在使用的复合命令:
gm composite -compose copyopacity mask.png source-and-target.png source-and-target.png
Run Code Online (Sandbox Code Playgroud)
其中 mask.png 有我想要保留的 source-and-target.png 的白色像素和我想要删除(并变得透明)的 source-and-target.png 的透明像素。
此命令将采用任何大小的输入文件,并将其最适合 40x40 的正方形和具有透明度的填充:
convert \
original.png \
-thumbnail '40x40>' \
-background transparent \
-gravity center \
-extent 40x40 \
-compose Copy_Opacity \
-composite mask.png \
original-resized.png
Run Code Online (Sandbox Code Playgroud)
该gravity选项确保图像在两个方向都居中,并transparent在没有像素的地方使用。然后合成完成mask.png
小智 6
从一个文件夹转换所有 PNG 的一个命令:
mogrify \
-resize 50x50 \
-background transparent \
-gravity center \
-extent 50x50 \
-format png \
-path resized \
*.png
Run Code Online (Sandbox Code Playgroud)
mogrify是来自 ImageMagick 包的命令。您必须先创建输出目录。