問題描述
我們有百張圖檔,需要将檔案名添加到圖檔上,那實際上就是如何向多張圖檔添加文字。我們并不懂得 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
相關文章
「Linux」- 圖檔檢視軟體
「Linux」- 将 JPG 網頁轉為字元畫
「Linux」- 截圖工具
「Linux」- 桌面桌面(Wallpaper Changer)
「ImageMagick」- 常用指令及常見問題
「Image」- 搭建圖床站點
參考文獻
How to Write Text On Image using Linux Command
How to add a background color to drawn text
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISM9AnYldnJwAzN9c3PnBnauQ0MlM2RjFXND1UNBpXT4VERNp3aUxUeBR0TyEleNhXTU10MFR0T3VkaNdXSUxUMrpmTx0keMRTQU1UeBpWT2VFVPJTV61kdjJjYzpkMMRXOykVdNNjW2hXbZVnTtx0dJRUT5N2ViBXO5xkNNh0YwIFSh9CXt92YuM3YltWas5iclN3Ztl2Lc9CX6MHc0RHaiojIsJye.jpg)