2014-04-26 24 views
0

我需要更改數千張圖像的背景顏色。我知道如何在GIMP中一個一個地做到這一點。但任何想法如何自動執行成千上萬,也許使用腳本?更改數千張圖像的圖像背景

謝謝!

+0

是的,它可以用腳本完成 - 但腳本將不得不包括操作「你知道該怎麼做」 - 所以,對於更多完整的答案,你可以更具描述性。 – jsbueno

回答

0

您可以通過腳本-fu或python-fu控制檯以試用方式「試用」GIMP,tahta以交互方式影響程序。

從你做的任何測試中,你可以用這兩種語言中的任何一種來編寫腳本(script-fu實際上是Scheme)。我建議使用Python來處理文件和字符串。

例如,爲了有GIMP目錄中的打開所有的圖像文件(這是一個例子,不適合的圖像處理):

打開filters->python->console

>>>提示類型:

from glob import glob 
for name in glob("/my/directory/*jpg"): 
    img = pdb.gimp_file_load(name, name) 
    pdb.gimp_display_new(img) 

for行之後的空格的標識很重要,因爲它的Python的 定義了代碼塊的方式 - 交互式綁定時不需要4個空格唉, 只是相同的每行的身份證)

這將打開agiven目錄中的所有jpg文件。當你知道該怎麼做,而不是調用pdb.gimp_display_new時,你可以調用這些函數來對圖像執行操作,使用「img」對象作爲圖像進行操作。 GIMP PDB API是可見的,單擊Python控制檯窗口本身的「browsw」按鈕。

完成操作後,請致電pdb.gimp_file_save將圖像導出爲fpg或png文件(注意,您寧願使用與您用來打開圖像的文件名不同的文件名,否則它們將被覆蓋)和pdb.gimp_image_delete釋放該映像使用的內存(這隻會刪除內存對象,當然不會打開剛剛導出或剛剛導出到磁盤上的映像)。

隨着時間的推移,您必須嘗試在運行一批圖像之前在交互模式下調用API函數。要檢索圖像引用在GIMP現有打開的圖像,調用gimp.image_list()(將返回一個Python列表與所有打開的圖像 - 讓在變量列表中的第一個圖像,這樣做:img = gimp.image_list()[0]

要創建一個瘸子-python插件與你開發的任何東西,檢查文檔在http://www.gimp.org/docs/python/