使用 montage 命令標記文字檔案中的圖像

使用 montage 命令標記文字檔案中的圖像

我們可以使用此命令按名稱標記每個圖像:

montage -label '%t' -size 512x512 "./img/*.*[120x90]" -geometry +5+5 photo.png

我想透過寫入文字檔案中的字串列表來標記圖像。文件說

如果字串的第一個字元是@,則從以字串中的其餘字元為標題的檔案中讀取圖像標籤。文件中的標籤是文字標籤,無法辨識嵌入的格式字元。

但我無法使用文件來提供標籤。我使用這樣的命令:

montage -label @un.txt -size 512x512 "./img/*.*[120x90]" -geometry +5+5 photo.png 

上面un.txt是路徑中文字檔的名稱./img/。這是一個範例結果:

4x4 組影像,每組影像下的檔案名稱為@un.txt

在結果中,所有圖像都以字串@un.txt而不是 的內容進行標記un.txt。我也收到此錯誤terminal

montage.im6: improper image header `./img/un.txt' @
error/txt.c/ReadTXTImage/429

如果我複製 un.txt到當前 ( .) 目錄並再次運行上面的命令,我將得到此圖像(沒有標籤)和以下錯誤:

4x4 組圖像如前,無文字

montage.im6: improper image header `./img/un.txt' @
error/txt.c/ReadTXTImage/429. 

montage.im6: not authorized `@un.txt' @
error/property.c/InterpretImageProperties/2959.

答案1

關注這個答案,我發現這可能與ImageMagick中發現的漏洞有關(這裡<policy domain="path" rights="none" pattern="@*" />),所以我透過從 中刪除行來更新我的網站策略檔案/etc/ImageMagick/policy.xml。現在montage從文件中讀取。

相關內容