我正在使用 mogrify 实用程序来批量转换图像并为Web准备图像。 如何使用相同的 mogrify 实用程序来解决水印问题。有很多关于如何使用复合实用程序进行水印的示例。它不适合我,因为我不想将过程分成两个步骤。
这是一个简化的命令行
mogrify -resize 400x400 -tile WATERMARK_FILE.png -path out\ input.jpg
它是调整大小但不与水印组成
更新 不幸的是,它可以单步执行(通过morgify)。虽然morgify接受-tile参数但它没有结果。可能它是一个错误,因为图像到磁贴是从磁盘读取但未使用。
我通过单独准备水印平铺图像来解决任务,其大小等于或大于目标图像。
:: prepare emty transparent image with size %IMG_SIZE%
convert -size %IMG_SIZE% xc:none "%WATERMARK_BASE_FILE%"
:: tile watermark on it
composite -dissolve 30 -tile "%WATERMARK_FILE%" "%WATERMARK_BASE_FILE%" "%WATERMARK_TILED_FILE%"
:: resize images and draw watermark on each image
morgify -resize %IMG_SIZE% -gravity center -draw "image src-over 0,0 0,0 '%WATERMARK_FILE%'" -path "%DST_DIR%" "%SRC_MASK%"