使用mogrify给图片加水印
需求
增加简单的中文水印
实现方案
利用ImageMagick的mogrify命令实现添加文字水印。
1: 安装ImageMagick
brew install imagemagick
有搜索过,也有Docker镜像,有兴趣的小伙伴也可以使用容器的方式。
2: 选择字体
弄个可以商用免费的字体吧,避免以后可能存在的问题,找了个阿里巴巴普惠体:
阿里巴巴普惠体获取方式:
阿里巴巴普惠体获取方式:
Alibaba ICS(淘宝用户登入):
https://ics.alibaba.com/project/Hn8mXx
商家服务市场(淘宝天猫商家& 淘宝用户):
https://alibabafont.taobao.com/
我下载过,cdn直接地址是:
https://aifont.alicdn.com/AlibabaPuHuiTi/AlibabaPuHuiTiAll.zip
3: 安装字体
下载后解压:
virhuiaivirhuiai@virhuiaideMBP 阿里巴巴集团字体 % tree -C -N
.
├── AlibabaSans
│ ├── AlibabaSans Nornal
│ │ ├── AlibabaSans-Black.otf
│ │ ├── AlibabaSans-Bold.otf
│ │ ├── AlibabaSans-Heavy.otf
│ │ ├── AlibabaSans-Light.otf
│ │ ├── AlibabaSans-Medium.otf
│ │ └── AlibabaSans-Regular.otf
│ └── AlibabaSans Nornal ltalics
│ ├── AlibabaSans-BoldItalic.otf
│ ├── AlibabaSans-HeavyItalic.otf
│ ├── AlibabaSans-Italic.otf
│ ├── AlibabaSans-LightItalic.otf
│ └── AlibabaSans-MediumItalic.otf
├── AlibabaSans.zip
├── Law Policy for Alibaba Sans.pdf
├── 法务版权声明.pdf
├── 阿里巴巴普惠体
│ ├── Alibaba-PuHuiTi-Bold.ttf
│ ├── Alibaba-PuHuiTi-Heavy.ttf
│ ├── Alibaba-PuHuiTi-Light.ttf
│ ├── Alibaba-PuHuiTi-Medium.ttf
│ ├── Alibaba-PuHuiTi-Regular.ttf
│ └── 阿里巴巴普惠体v1.10版本更新说明.txt
我只安装了阿里巴巴普惠体
下的中文字体:
├── 阿里巴巴普惠体
│ ├── Alibaba-PuHuiTi-Bold.ttf
│ ├── Alibaba-PuHuiTi-Heavy.ttf
│ ├── Alibaba-PuHuiTi-Light.ttf
│ ├── Alibaba-PuHuiTi-Medium.ttf
│ ├── Alibaba-PuHuiTi-Regular.ttf
│ └── 阿里巴巴普惠体v1.10版本更新说明.txt
安装完后查看下是否安装上了:
我们选择一个字体使用,比如:
/Users/virhuiaivirhuiai/Library/Fonts/Alibaba-PuHuiTi-Bold.ttf
4:准备文字文件
echo "头条@程序猿阿乐" > /Users/virhuiaivirhuiai/Documents/virhuiai-github/virhuiai.github.io.git/watermarking.txt
5 : mogrify命令加水印
还可以用IDEA写Shell,有提示,方便:
# 先进入目标目录,针对所有图片文件。我这是用png的
for file in ./*.png
do
if [ -f "$file" ]
then
mogrify -font /Users/virhuiaivirhuiai/Library/Fonts/Alibaba-PuHuiTi-Bold.ttf -pointsize 24 -fill black -weight bolder -gravity southeast -annotate +20+20 @"/Users/virhuiaivirhuiai/Documents/virhuiai-github/virhuiai.github.io.git/watermarking.txt" $file
fi
done
然后本文的水印就加上了。