2013-07-07 57 views
3

我想重現顏色到alpha功能的gimp offer,它根據像素中的顏色數量添加透明度級別。在shell腳本中使用gimp顏色到alpha腳本

我想知道如何從命令行使用此功能的原因是將該功能應用於多個圖像,而無需在gimp中逐一打開每個圖像。

要從終端運行gimp腳本,請使用以下行: /Applications/GIMP.app/Contents/MacOS/gimp -i -b後跟函數的名稱及其參數。

這個函數被調用顏色到-α和需要4個參數來工作,這有以下幾種:

run-mode INT32 Interactive, non-interactive 
image IMAGE imput image 
drawable DRAWABLE input drawable 
color COLOR Color to remove 

所以我曾嘗試以下: /Applications/GIMP.app/Contents/MacOS/gimp -i -b '(color-to-alpha 0 "/Users/Maxime/Desktop/Images/fx_ice.png" 0 (0 0 0))' -b '(gimp-quit 0)'但我有以下錯誤:Error: (: 2) eval: unbound variable: color-to-alpha

我猜測問題來自我試圖通過的參數的語法。 我試圖找到如何在這種情況下傳遞參數的例子,但沒有找到任何東西。

如果有人知道如何做到這一點,那將是巨大的,

謝謝

+0

我知道你想要的「shell腳本」 - 但請不要使用 - 或者GIMP的內置Python腳本(但我不知道是否它適用於OS X)或GIMP的基於模式的script-fu。從外部shell進程執行此操作(僅用於啓動)可以爲每個映像創建一個新的GIMP進程 - 這不是您想要的操作 – jsbueno

回答

4

好吧,我已經找到了awnser給我的職務。

我在做什麼是非常錯誤的一路:P

所以這裏是一個批處理命令行,從像GIMP的顏色至-α功能的圖像去除黑baground:

/Applications/GIMP.app/Contents/MacOS/gimp -i -b "(let* ((image (car (file-png-load 1 \"/Users/Name/Desktop/img.png\" \"/Users/Name/Desktop/img.png\"))) (drawable (car (gimp-image-active-drawable image)))) (plug-in-colortoalpha 1 image drawable '(0 0 0)) (gimp-file-save RUN-NONINTERACTIVE image drawable \"/Users/Name/Desktop/img2.png\" \"/Users/Name/Desktop/img2.png\")) " -b "(gimp-quit 0)"

這是相當不全面喜歡這樣,因爲它需要一個內嵌的命令,但它工作正常,在我的MAC

+0

更改hte值'(0 0 0)將顏色更改爲透明顏色 – Mtrompe

+0

謝謝!正是我在找什麼。 – Christian

+0

注意:'let','gimp-image-active-drawable','gimp-file-save'是main命令正常工作所需的指令。 'image'和'drawable'是內部變量,指向當前加載的圖像。要運行任何其他命令,請使用大括號內的正確命令替換'(插入colortoalpha 1圖像可繪製'(0 0 0))''。 查看此鏈接瞭解語法信息:https://www.gimp.org/tutorials/Basic_Scheme/ – mccbala