照片編輯往往涉及到許多重複的過程,尤其是當你正在處理一個大相冊的圖像。如果您願意涉獵腳本,可以使用GIMP來自動化這些操作,以節省您的時間和精力。
在GIMP中使用Python編寫腳本並不容易,但是如果您準備好學習訣竅的話,這是非常有益的。下面是如何開始使用幾個非常基本的腳本。
在我們開始認真地進行我們的項目之前,我們需要打下一些基礎。首先,打開文本編輯器,然後複製並粘貼以下代碼:
#!/usr/bin/python from gimpfu import * def first_plugin(timg, tdrawable): print "Hello, world!" register( "hello_world", "Presents a Hello, World! message", "Presents a Hello, World! message", "Brad Jones", "Brad Jones", "2017", "<Image>/Image/Hello, World!", "RGB*, GRAY*", [], [], first_plugin) main()下面是上面發生的事情的簡要概述。前兩行初始化腳本,並讓我們訪問一些有用的庫。def first\u plugin後面的代碼部分包含我們給出的GIMP指令。單詞register後面的信息是GIMP需要了解的關於插件的所有信息。
這是我們需要提供給GIMP的信息來註冊我們的腳本:
最後,我們需要調用main()。
保存腳本,然後從“另存為類型”下拉列表中選擇所有文件。確保在文件名中包含.py擴展名。
接下來,將此文件放入GIMP的插件文件夾中,該文件夾位於Windows的Program Files>;GIMP 2>;lib>;GIMP>;2.0(或Mac上的~\Library\Application Support\GIMP\2.8\scripts)中。您可能需要管理員權限才能執行此操作。
初始化GIMP並打開圖像菜單。你應該看看你好,世界!就在底部。
現在是時候讓我們的腳本更有用一點了。
現在我們要重寫我們的腳本,讓它真正做一些實際的事情。再次打開文本文件,複製並粘貼以下代碼:
#!/usr/bin/env pythonfrom gimpfu import *def test_script(customtext, font, size): img = gimp.Image(1, 1, RGB) layer = pdb.gimp_text_fontname(img, None, 0, 0, customtext, 10, True, size, PIXELS, font) img.resize(layer.width, layer.height, 0, 0) gimp.Display(img) gimp.displays_flush()register( "python_test", "TEST", "TEST", "Brad Jones", "Brad Jones", "2017", "TEST", "", [ (PF_STRING, "customtext", "Text string", 'Scripting is handy!'), (PF_FONT, "font", "Font", "Sans"), (PF_SPINNER, "size", "Font size", 100, (1, 3000, 1)), ], [], test_script, menu="<Image>/File/Create")main()這比我們的你好,世界要複雜一點!但它的結構非常相似。首先我們創建一個圖像。
img = gimp.Image(1, 1, RGB)然後我們根據用戶提供的參數添加文本。
layer = pdb.gimp_text_fontname(img, None, 0, 0, customtext, 10, True, size, PIXELS, font)接下來,我們根據文本的大小調整圖像的大小。
img.resize(layer.width, layer.height, 0, 0)最後,我們告訴GIMP在屏幕上顯示圖像。
gimp.Display(img)gimp.displays_flush()剩下要做的就是添加GIMP需要的註冊信息,並添加一些我們之前沒有包含的參數設置。
[ (PF_STRING, "customtext", "Text string", 'Scripting is handy!'), (PF_FONT, "font", "Font", "Sans"), (PF_SPINNER, "size", "Font size", 100, (1, 3000, 1)), ],像拯救世界一樣拯救這個世界!腳本,將其移動到plug-ins文件夾,然後重新啟動GIMP。前往File>;Create>;TEST試用我們的插件。
您將看到一個窗口,可以在其中設置各種參數。
單擊OK,您將創建一個類似這樣的圖像。
這演示瞭如何在GIMP中使用腳本來自動化由幾個不同操作組成的過程。現在,讓我們編寫一個腳本,對已經打開的圖像進行更改。
一旦您習慣了在GIMP中使用Python編寫腳本,就可以自動對圖像進行各種調整。但是,我們將通過實現一個反轉當前層顏色的腳本來儘可能簡單地開始。
要開始,請再次打開文本編輯器,然後複製並粘貼以下腳本:
#!/usr/bin/env pythonfrom gimpfu import *def invert_current_layer(img, layer): pdb.gimp_invert(layer) register( "python_fu_invert_current_layer", "Invert layer", "Invert colors in the current layer", "Brad Jones", "Brad Jones", "2017", "<Image>/Filters/Custom/Invert current layer", "*", [], [], invert_current_layer) main()這源於我們之前創建的腳本。前幾行代碼奠定了一些基礎,最後幾行代碼負責註冊。以下是重要部分:
def invert_current_layer(img, layer): pdb.gimp_invert(layer)我們正在定義我們的流程,告訴GIMP我們要引用哪些組件,然後使用pdb.gimp\U反轉指示程序調整顏色。將其保存為.py文件格式,將其添加到plug-ins文件夾中,然後打開GIMP檢查其是否工作。
導航到“過濾器”>;“自定義”>;“反轉當前圖層”。
你應該得到一個類似於上面的結果。當然,在GIMP中執行反轉操作已經相對容易了,但這只是一個起點。編寫自己的腳本的好處在於,你可以創建完全適合自己的東西。
一旦您瞭解了GIMP中腳本的基本知識,就可以開始嘗試了。想想你經常做什麼樣的過程,這對自動化很有用。接下來是棘手的部分:找出如何使用代碼來實現這些想法。
幸運的是,GIMP可以提供一些幫助。導航到“幫助”>;“過程瀏覽器”,您將能夠訪問可以使用的所有過程的列表。
過程瀏覽器不僅列出過程本身,還提供有關需要在代碼中提供哪些參數的信息。
您可以滾動整個過程列表,或者使用搜索欄縮小字段範圍。然後,只需將過程名稱和參數**腳本。
在編寫腳本時,這些信息將是非常寶貴的。從一些簡單的東西開始,在你意識到它之前,你將**一些真正有用的自動化流程!
你需要幫助編寫GIMP腳本嗎?或者你有什麼建議想和其他用戶分享?不管怎樣,為什麼不加入下面評論部分的對話呢?
圖片來源:Volkova Vera/Shutterstock
... 像adobelightroom這樣的應用程式可以很容易地透過EXIF資料組織影象。如果你不使用這些型別的應用程式,那麼將你的照片分類整理到一個資料夾是一件令人頭痛的事。由於對元資料的支援有限,在windows10中組織照片...
...。必須通過當前的文件變數訪問。您需要傳入新的寬度(透過UnitValue方法轉換為畫素)和重取樣方法BICUBIC。 ...
... 讓您的Google指令碼透過googlesheets傳送郵件的第一步是正確設定一個包含所有姓名、電子郵件地址和傳送給您希望指令碼傳送電子郵件的所有人的訊息的表。 ...
...“拆分”。這將把你的視窗分成四個獨立的部分,你可以透過拖動中間的邊框來調整。如果你只需要一小段時間的概述,它比凍結窗格靈活得多。 ...
...巨集的文章和更一般的查詢之間沒有分離。但是,您可以透過搜尋“macro”、“VBA”或其他類似的術語來輕鬆解決這個問題。 ...
... Zapier是一款線上應用程式,可以透過Gmail自動傳送每週電子郵件。訊息可以包含指向每週都會更改的動態內容的連結,也可以包含自動捕獲返回資料的回覆地址。 ...
...你只需點選幾下就可以關閉Windows10電腦,但這足夠快嗎?透過實現PowerShell指令碼,我們可以在桌面上的任何位置放置一個關機按鈕。此外,我們還可以同時學習如何**指令碼快捷方式。 ...
... Word透過自動更正大量常見錯誤以及其他有用的功能(如在適當的地方將單詞大寫和對符號應用格式)使事情變得更加容易。 ...
... 透過googledrive:單擊側邊欄中的New按鈕,將滑鼠懸停在出現的選單中Google Sheets旁邊的箭頭上,然後從模板中單擊。 透過googlesheets:將滑鼠懸停在視窗右下角...
...ey是一個成熟的應用程式,但Texpander是一個相對簡單的Bash指令碼,旨在提供類似的功能。為指令碼指定一個鍵盤快捷鍵,然後彈出一個對話方塊,類似於在Linux的啟動程式應用程式中看到的對話方塊。然後你鍵入你的縮寫,你會...