问题描述
我们有百张图片,需要将文件名添加到图片上,那实际上就是如何向多张图片添加文字。我们并不懂得 Photoshop 之类的图片处理软件该如何操作。
该笔记将记录:如何通过命令行批量为文件添加文本(文本内容则是文件名,当然你也可以替换为其他内容)
解决办法
关键命令
TEXT="Some Text" convert -font helvetica -undercolor Black -fill blue -pointsize 36 \ -draw "text 15,50 '$TEXT'" \ input.jpg ouput.jpg # -font - 指定字体文件路径 # -undercolor - 指定字体区域背景色 # -fill - 指定字体颜色 # -pointsize - 字体大小 # -draw - 要绘制的文本 # input.jpg - 原图 # ouput.jpg - 输出图片
批量操作
for file_name in $(/bin/ls) do convert -font helvetica -undercolor Black -fill blue -pointsize 36 \ -draw "text 15,50 '$file_name'" "$file_name" "${file_name}-with-txt" done
参考文献
How to Write Text On Image using Linux Command
How to add a background color to drawn text