Spar dig selv tid og indsats ved at automatisere GIMP med scripts

Automatisering af handlinger med Python-scripts i GIMP kan spare dig for masser af tid. Det er ikke let at komme i gang, men når du kender disse grundlæggende grunde, vil du være godt på vej!

Automatisering af handlinger med Python-scripts i GIMP kan spare dig for masser af tid.  Det er ikke let at komme i gang, men når du kender disse grundlæggende grunde, vil du være godt på vej!
Reklame

Fotoredigering har tendens til at involvere mange gentagne processer, især når du arbejder med et stort album af billeder. Hvis du er villig til at dabble i scripting, kan du bruge GIMP til at automatisere nogle af disse handlinger for at spare dig tid og kræfter.

Scripting with Python 10 Grundlæggende pythoneksempler, der hjælper dig med at lære hurtigt 10 Grundlæggende Python-eksempler, der hjælper dig med at lære hurtigt Denne artikel med grundlæggende python-eksempler er for dem, der allerede har nogle programmeringsoplevelser og simpelthen ønsker at overgå til Python så hurtigt som muligt. Læs mere i GIMP er ikke let, men det er meget givende, hvis du er parat til at lære tauene. Sådan kommer du i gang med et par meget grundlæggende script.

Oprettelse af et Python-script

Før vi begynder at arbejde på vores projekt for alvor, skal vi lægge nogle fundament. Først skal du åbne en teksteditor, og derefter kopiere og indsætte koden nedenfor:

#!/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/Hello, World!", "RGB*, GRAY*", [], [], first_plugin) main() 

Her er et kort overblik over, hvad der foregår deroppe. De første to linjer initialiserer scriptet og giver os adgang til nogle nyttige biblioteker. Den del af kode, der følger def first_plugin, indeholder instruktionerne, som vi giver GIMP. Oplysningerne, der følger ordregistret, er alt, hvad GIMP skal vide om vores plugin.

Dette er de oplysninger, vi har brug for at give GIMP til at registrere vores script:

  • Navn: kommandoenes navn (fx hello_world )
  • Forklare: En kort beskrivelse af kommandoen (f.eks. Præsenterer en Hello, World! -meddelelse )
  • Hjælp: Hjælpemeddelelsen, der skal vises (f.eks. Præsenterer en Hello, World! -meddelelse )
  • Forfatter: Den person, der oprettede scriptet (fx Brad Jones )
  • Ophavsret: Indehaveren af ​​ophavsret (f.eks. Brad Jones )
  • Dato: datoen scriptet blev oprettet (fx 2017 )
  • Etiket: Den måde, hvorpå manuskriptet bliver henvist til i menuen (f.eks. / Billede / Hej, Verden! )
  • Parametre: Parametre, der er knyttet til plug-in'en (fx [] - ingen i dette tilfælde)
  • Resultater: Resultater fra plugin-modulet (f.eks. [] - ingen i dette tilfælde)
  • Funktion: Navnet bruges til at henvise til handlingen i vores kode (fx first_plugin )

Endelig skal vi ringe main () .

Gem dit script, og vælg Alle filer fra rullemenuen Gem som type . Sørg for at medtage .py-udvidelsen i dit filnavn.

gem script

Derefter skal du placere denne fil i GIMPs plug-in-mappe, som findes i Windows på Programmer > GIMP 2 > lib > gimp > 2.0 (eller ~ \ Library \ Application Support \ GIMP \ 2.8 \ scripts på en Mac). Du skal muligvis have administratorrettigheder Sådan opretter du en sikkerhedskopieringsadministratorkonto i Windows 10 Sådan opretter du en sikkerhedskopieringsadministratorkonto i Windows 10 Når du har et andet administratorkonto på din pc, er det nemmere at nulstille dit eget kodeord, hvis du glemmer det. Her er en nem måde at oprette en på. Læs mere for at gøre det.

Initialiser GIMP og åbner billedmenuen. Du skal se Hello, World! lige der i bunden.

gimp hej verden

Nu er det tid for os at gøre vores script lidt mere nyttigt.

Tilføjelse af nogle funktioner

Nu skal vi omskrive vores script, så det rent faktisk gør noget praktisk. Åbn tekstfilen igen, og kopier og indsæt følgende kode:

 #!/usr/bin/env python from 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="/File/Create") main() 

Dette er lidt mere komplekst end vores Hello, World! script, men det deler en meget lignende struktur. Først opretter vi et billede.

 img = gimp.Image(1, 1, RGB) 

Så tilføjer vi tekst baseret på parametre leveret af brugeren.

 layer = pdb.gimp_text_fontname(img, None, 0, 0, customtext, 10, True, size, PIXELS, font) 

Dernæst ændrer vi billedet i overensstemmelse med størrelsen af ​​teksten.

 img.resize(layer.width, layer.height, 0, 0) 

Endelig fortæller vi GIMP at vise billedet på skærmen.

 gimp.Display(img) gimp.displays_flush() 

Alt, hvad der er tilbage at gøre, er at tilføje de registreringsoplysninger, som GIMP har brug for, med tilføjelse af nogle parameterindstillinger, som vi ikke inkluderede tidligere.

 [ (PF_STRING, "customtext", "Text string", 'Scripting is handy!'), (PF_FONT, "font", "Font", "Sans"), (PF_SPINNER, "size", "Font size", 100, (1, 3000, 1)), ],  

Gem dette ligesom vi reddede Hello, World! script, flyt det til plug-ins mappen, og genstart GIMP. Gå til Filer > Opret > TEST for at prøve vores plugin.

test gimp plugin

Du får se et vindue, hvor du kan indstille forskellige parametre.

testparametre gimp plugin

Klik på OK, og du vil oprette et billede, der ser sådan ud.

test image gimp plugin

Dette viser hvordan du kan bruge scripting i GIMP til at automatisere en proces 5 Ressourcer til Excel-makroer til at automatisere dit regneark 5 Ressourcer til Excel-makroer til at automatisere dit regneark Søgning efter Excel-makroer? Her er fem websteder, der har fået det, du leder efter. Læs mere bestående af flere forskellige handlinger. Lad os nu skrive et script, der ændrer et billede, vi allerede har åbent.

Invertere et lag

Når du er komfortabel med scripting med Python Prøv Python i din browser Med disse gratis online interaktive skaller Prøv Python i din browser med disse gratis online interaktive skaller Uanset om du går gennem disse Python-eksempler eller gennemgår grunde til arrayer og lister, kan du test koden lige i din browser. Her er de bedste online Python-tolke, vi har fundet. Læs mere i GIMP, du kan automatisere alle slags tweaks til dine billeder. Vi skal dog starte så simpelt som muligt ved at implementere et script, der inverterer farverne i det nuværende lag.

For at komme i gang skal du åbne en teksteditor igen og derefter kopiere og indsætte følgende script:

 #!/usr/bin/env python from 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", "/Filters/Custom/Invert current layer", "*", [], [], invert_current_layer) main() 

Dette følger af det script, vi skabte tidligere. De første par kodeord lægger ned nogle fundamenter, og de sidste flere linjer tager sig af registrering. Her er den vigtige sektion:

 def invert_current_layer(img, layer): pdb.gimp_invert(layer) 

Vi definerer vores proces og fortæller GIMP, hvilke komponenter vi skal henvise til, og bruger pdb.gimp_invert til at instruere programmet til at justere farverne. Gem dette i .py-filformatet, tilføj det til plugin-mappen, og åbn derefter GIMP for at kontrollere, at det virker.

invert nuværende lag gimp plugin

Naviger til Filtre > Brugerdefineret > Inverter nuværende lag .

invert proces gimp plugin

Du skal få et resultat svarende til det ovenstående. Selvfølgelig er det allerede relativt nemt at udføre en inverter-operation i GIMP, men det er bare et udgangspunkt. Den gode ting ved at skrive dine egne scripts 10 Belønning af hobbyer, der involverer programmering eller scripting 10 Belønning af hobbyer, der involverer programmering eller scripting Hvilken form for programmering og / eller scripting kan du gøre, der ikke involverer store virksomheder eller kontraktkunder? Her er flere ideer, som du kan begynde at udforske lige nu. Læs mere er, at du kan oprette noget, der er helt skræddersyet til dig.

Næste trin i GIMP Scripting

Når du har forstået det grundlæggende i scripting i GIMP, er det tid til at begynde at eksperimentere. Tænk på, hvilken slags processer du gør meget, og det ville være nyttigt at automatisere 7 daglige opgaver. Du vidste ikke, at du kunne automatisere om få minutter. 7 Daglige opgaver, du vidste ikke, at du kunne automatisere på få minutter. Der er mange ting du kan automatisere nu, der sparer tid og giver dig mulighed for at fokusere på andre ting. Vi giver dig syv ting, du kan automatisere lige nu med de rigtige værktøjer. Læs mere . Så kommer den vanskelige del: finde ud af, hvordan man bruger kode til at realisere disse ideer.

Heldigvis kan GIMP tilbyde lidt hjælp. Gå til Hjælp> Procedure Browser, og du vil få adgang til en liste over alle de procedurer, du kan bruge.

procedure browser

Procedure Browser lister ikke kun på procedurerne, men giver dig også oplysninger om, hvilke parametre du skal levere i din kode.

Du kan rulle gennem hele listen over procedurer eller bruge søgefeltet til at indsnævre feltet. Indsæt derefter procedurens navn og parametre i dit script.

parametre

Disse oplysninger vil være uvurderlige, når du arbejder på dine scripts. Start med nogle enkle ting, og inden du ved det, vil du lave nogle rigtig nyttige automatiserede processer!

Har du brug for hjælpeskripting med GIMP? Eller har du et tip, som du vil dele med andre brugere? Uanset hvad, hvorfor ikke deltage i samtalen i kommentarfeltet nedenfor?

Billedkreditter: Volkova Vera / Shutterstock

In this article