我有两个png。一个是未知大小(但总是正方形),第二个是1024x1024并且大部分是透明的。我想把第二个放在第一个的顶部,但首先将它缩小到第一个的大小。
E.g。 image1.png是100x100,overlay.png是1024x1024。生成的图像大小为100x100,覆盖范围缩小为100x100,并放在源文件的顶部。
到目前为止,我得到了这个:
magick convert ~/Downloads/Test\ icon.png res/drawable/icon.png -gravity center -composite ~/result.png
但是生成的图像是1024x1024,而原始图像位于中心的某处。
答案 0 :(得分:1)
这将在两个图像中读取,调整第二个尺寸以适应第一个尺寸,然后将第二个复合到第一个中心。
magick img1.png img2.png \
-resize %[fx:u.w]x%[fx:u.h] -gravity center -composite output.png
如果在Windows中使用,那继续行反斜杠" \"应该改成插入符号" ^"。如果在Windows BAT脚本中使用,则单个百分号符号"%"需要双打" %%"。
编辑添加:工作方式是这样......两个图像被读入命令。外汇表达" u.w"和" u.h"代表第一张图像的宽度和高度。所以要#34; -resize"当然,第一个图像到它自己的尺寸并没有改变它。然后第二个调整大小以适应第一个维度。