ImageMagick调整水印文件的大小并在循环中溶解



ImageMagick:版本:ImageMagick 7.0.10-6 Q16 x64 2020-04-06

操作系统:Windows 10 64位操作系统,基于x64的处理器

我没有使用ImageMagick的经验,我发现在尝试创建一个批处理文件以自动为文件夹中的所有.jpg图片添加水印时遇到了困难。

其想法是,带水印的.png文件将根据.jpg文件的尺寸调整大小。下面的代码运行良好,问题是我试图在水印上应用一定的透明度,但这段代码没有做到这一点。当我试图修改代码以使用-insolve或-watermark运算符时,我收到了错误消息。

@echo off for %%z in ( *.jpg ) do ( magick "%%z" watermark.png ^ -resize %%[fx:t?u.w:s.w]x%%[fx:t?u.h:s.h] ^ -gravity southeast -composite ./SIGNED/Watermarked_%%z ) pause

下一个代码会自动为文件夹中的所有文件添加水印,水印文件具有一定的透明度。但它不会调整水印大小.png.

@echo off IF NOT EXIST SIGNED mkdir SIGNED FOR %%a in (*.jpg) DO magick composite -dissolve 50%% -gravity southEast (watermark.png  ) %%a ./SIGNED/JG2021_%%a pause

你们中有人知道如何调整水印的大小和应用透明度吗?提前感谢

在像这样读取主图像之前,尝试修改示例命令以调整水印图像的透明度。。。

for %%z in ( *.jpg ) do ( magick watermark.png ^
-channel A -evaluate multiply 0.5 +channel "%%z" +swap ^
-resize %%[fx:t?u.w:s.w]x%%[fx:t?u.h:s.h] ^
-gravity southeast -composite ./SIGNED/Watermarked_%%z )

首先将水印读取到命令中;A";仅修改alpha通道,并使用-evaluate multiply将水印设置为0.5或50%透明。之后,主图像%z被读取到命令中,并使用+swap将图像按正确的顺序进行合成。按照您的示例完成命令。

最新更新