之前用Wordpress的时候装了个图片水印插件,效果很一般,凑活用(比如这篇文章的配图)。现在Myblog还不支持水印功能,也不准备支持,感觉还是自己加好水印再上传自由度更高一些。
Myblog运行后写头几篇文章时,为了方便给Markdown配图专门写了一个Bash脚本对图片进行预处理:
- 把heic格式转换成jpeg
- 去除Exif信息
- 压缩到合适的尺寸
脚本用到了ExifTool和ImageMagick两个命令行软件,后来优化了一下,去掉了ImageMagick, 用macOS自带一个sips
命令替代。主要几个命令:
去除图片Exif信息(保留Orientation, 否则有些图片显示出来就歪了)
exiftool -all:all= -tagsFromFile @ -exif:Orientation input.jpeg
格式转换:
sips -s format jpeg -s formatOptions best -o out.jpeg input.heic
尺寸压缩(限制最大宽度):
sips --resampleWidth 1200 -o out.jpeg input.jpeg
加水印一开始考虑用ImageMagick,但是后来发现sips
还支持运行Javascript脚本, 通过Canvas API进行自定义图片生成,这样又不用ImageMagick了(这个包依赖太多,brew install
起来真的又大又慢)。
sips给图片加文字水印:
sips -j watermark.js input.jpeg BLUEHUA.ORG
附带命令中使用的脚本watermark.js
这个水印脚本比之前的WP插件好用不少,可以根据图片亮度选择不同的文字颜色和透明度。而且由于图片是Canvas API生成的,不再携带原图的Exif信息,这样ExifTool也不用了,完全使用sips
一个系统自带的命令。
亮图水印效果
暗图水印效果
跟之前的水印效果一比高下立判~
暂时没有留言。