GIMP可以讓你在Python中製作插件,我想要做的就是調用GIMP函數,就像我在這個插件裏面做的一樣,但是這會返回以下錯誤,因爲GIMP沒有找到任何正在運行的GIMP Core來使用。如何在Python腳本中使用GIMP?
LibGimpBase-ERROR **: gimp_wire_write_msg: the wire protocol has not been initialized aborting...
我想知道是否有可能?如果是,如何?
謝謝
GIMP可以讓你在Python中製作插件,我想要做的就是調用GIMP函數,就像我在這個插件裏面做的一樣,但是這會返回以下錯誤,因爲GIMP沒有找到任何正在運行的GIMP Core來使用。如何在Python腳本中使用GIMP?
LibGimpBase-ERROR **: gimp_wire_write_msg: the wire protocol has not been initialized aborting...
我想知道是否有可能?如果是,如何?
謝謝
GIMP的Python擴展需要從GIMP實例中運行。如果您想使用Python中的GIMPśAPI,則必須在沒有圖形用戶界面的情況下運行GIMP(從命令行傳遞-i
參數),並使用-b
命令行參數運行api的自定義調用 - 因此,您可以運行您python_fu_do_it程序,從命令行調用:
gimp -i -b \(python-fu-do-it \)
注意,這是獲得運行GIMP-python擴展,唯一的辦法:你必須從GIMP進程中運行它。
在現實生活中,一件有用的事情可能是讓你的gimp插件公開一些對你想要的圖像執行操作的函數,並通過xmlrpc或jsonrpc服務器導出 - 這很容易在Python中完成。然後,您使用上述方法啓動此「映像服務器」,並創建通過xmlrpc調用您的gimp使用函數的獨立python腳本。
我不得不說,下面的語句是不正確的:
「GIMP的Python擴展需要從一個GIMP實例中運行。」
您不必運行gimp就可以使用通過python gimpfu API公開的函數。
在任何Python程序,對於Linux只是你以下幾點:
import sys
sys.path.append('/usr/lib/gimp/2.0/python/')
import gimpfu
其中 '/usr/lib/gimp/2.0/python/' 是GIMP的安裝路徑。
問候,卡羅。
一個選擇是在gimp內部創建一個偵聽器進程作爲腳本(這可能會影響鎖定UI,這裏需要進行實驗),然後讓它聽取beanstalkd工作隊列。那麼在你的外部進程中,向beanstalk隊列發出工作請求,然後beanstalk可以在進程外處理這些命令。
綜上所述,99%的使用案例我可以想象你想要做到這一點,或許ImageMagick比gimp更適合你選擇,它可以讓我想象你感興趣的任務。
GIMP可以通過命令行啓動無UI。它工作正常,你可以把你的腳本放在裏面去聽工作。 – AsTeR
這個包可以讓你開始。 查看「.bat」文件。
使用'subprocess'模塊腳本開始做工作之前啓動GIMP的實例? –
[使用PHP或Python連接GIMP](http:// stackoverflow。COM /問題/ 3237252 /連接,GIMP與 - PHP-或-蟒蛇) – unutbu
我認爲,這不是一個重複的,因爲我明確地問怎麼沒有插件的使用進行了。我必須嘗試子進程調用,但我認爲這會失敗。 – AsTeR