Bespaar uzelf tijd en moeite door GIMP met scripts te automatiseren

Het automatiseren van acties met Python-scripts in GIMP kan u veel tijd besparen. Het is niet gemakkelijk om te beginnen, maar als je eenmaal deze basis kent, ben je goed op weg!

Het automatiseren van acties met Python-scripts in GIMP kan u veel tijd besparen.  Het is niet gemakkelijk om te beginnen, maar als je eenmaal deze basis kent, ben je goed op weg!
Advertentie

Bij het bewerken van foto's zijn veel repetitieve processen betrokken, vooral wanneer u met een groot album met afbeeldingen werkt. Als je bereid bent om te scrollen in scripting, kun je GIMP gebruiken om een ​​aantal van deze acties te automatiseren om jezelf tijd en moeite te besparen.

Scripten met Python 10 Fundamentele Python-voorbeelden die u zullen helpen snel te leren 10 Fundamentele Python-voorbeelden die u zullen helpen snel te leren Dit artikel van eenvoudige python-voorbeelden is voor diegenen die al enige programmeerervaring hebben en gewoon zo snel mogelijk naar Python willen overstappen. Meer lezen in GIMP is niet eenvoudig, maar het is zeer de moeite waard als u bereid bent om het tuig te leren. Hier leest u hoe u aan de slag kunt gaan met een paar zeer basale scripts.

Een Python-script maken

Voordat we serieus aan ons project gaan werken, moeten we een aantal fundamenten leggen. Open eerst een teksteditor en kopieer en plak de onderstaande code:

#!/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() 

Hier is een kort overzicht van wat er daarboven gebeurt. De eerste twee regels initialiseren het script en geven ons toegang tot een aantal behulpzame bibliotheken. Het gedeelte van de code na def first_plugin bevat de instructies die we GIMP geven. De informatie die volgt op het woordregister is alles wat GIMP moet weten over onze plug-in.

Dit is de informatie die we GIMP nodig hebben om ons script te registreren:

  • Naam: de naam van het commando (bijv. Hello_world )
  • Blurb: een korte beschrijving van het commando (bijv. Presenteert een Hello, World! -bericht )
  • Help: het Help-bericht wordt weergegeven (bijv. Presenteert een Hello, World! -bericht )
  • Auteur: de persoon die het script heeft gemaakt (bijv. Brad Jones )
  • Auteursrecht: de auteursrechthebbende (bijv. Brad Jones )
  • Datum: de datum waarop het script is gemaakt (bijv. 2017 )
  • Label: de manier waarop naar het script wordt verwezen in het menu (bijv. / Image / Hello, World! )
  • Parameters: parameters die aan de plug-in zijn gekoppeld (bijv. [] - in dit geval geen)
  • Resultaten: resultaten van de plug-in (bijv. [] - in dit geval geen)
  • Functie: de naam die wordt gebruikt om naar de actie in onze code te verwijzen (bijv. First_plugin )

Ten slotte moeten we main () aanroepen.

Sla je script op en selecteer Alle bestanden in de vervolgkeuzelijst Opslaan als . Zorg ervoor dat u de extensie .py opneemt in uw bestandsnaam.

sla script op

Plaats vervolgens dit bestand in de plug-inmap van GIMP, die u kunt vinden in Windows op Program Files > GIMP 2 > lib > gimp > 2.0 (of ~ \ Library \ Application Support \ GIMP \ 2.8 \ scripts op een Mac). U hebt mogelijk beheerdersbevoegdheden nodig. Een back-upbeheerdersaccount maken in Windows 10 Een back-upbeheerdersaccount maken in Windows 10 Als u een tweede beheerdersaccount op uw pc hebt, kunt u gemakkelijker uw eigen wachtwoord opnieuw instellen als u het vergeet. Hier is een eenvoudige manier om er een te maken. Lees meer om dit te doen.

Initialiseer GIMP en open het menu Afbeelding . Je zou Hello, World! Moeten zien! precies daar beneden.

gimp hallo wereld

Nu is het tijd voor ons om ons script iets nuttiger te maken.

Een beetje functionaliteit toevoegen

Nu gaan we ons script herschrijven zodat het daadwerkelijk iets praktischs doet. Open het tekstbestand nogmaals en kopieer en plak de volgende code:

 #!/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() 

Dit is een beetje ingewikkelder dan onze Hello, World! script, maar het deelt een zeer vergelijkbare structuur. Eerst maken we een afbeelding.

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

Vervolgens voegen we tekst toe op basis van parameters die door de gebruiker zijn opgegeven.

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

Vervolgens wordt het formaat van de afbeelding aangepast aan de grootte van de tekst.

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

Ten slotte vertellen we GIMP om het beeld op het scherm weer te geven.

 gimp.Display(img) gimp.displays_flush() 

Het enige dat u hoeft te doen, is de registratiegegevens toevoegen die GIMP nodig heeft, met toevoeging van enkele parameterinstellingen die we eerder niet hebben opgenomen.

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

Bewaar dit net zoals we de Hello, World! script, verplaats het naar de map met plug-ins en start GIMP opnieuw. Ga naar Bestand > Maken > TEST om onze plug-in uit te proberen.

test gimp plugin

Je ziet een venster waarin je verschillende parameters kunt instellen.

test parameters gimp plugin

Klik op OK en u maakt een afbeelding die er ongeveer zo uitziet.

test afbeelding gimp plugin

Dit laat zien hoe u scripting in GIMP kunt gebruiken om een ​​proces te automatiseren 5 Bronnen voor Excel-macro's om uw spreadsheets te automatiseren 5 Bronnen voor Excel-macro's om uw spreadsheets te automatiseren Zoeken naar Excel-macro's? Hier zijn vijf sites die hebben wat je zoekt. Meer lezen bestaande uit verschillende acties. Laten we nu een script schrijven dat wijzigingen aanbrengt in een afbeelding die we al open hebben.

Een laag omkeren

Zodra u vertrouwd bent met scripten met Python Probeer Python in uw browser met deze gratis online interactieve shells Probeer Python in uw browser met deze gratis online interactieve shells Of u nu deze Python-voorbeelden doorneemt of de grondbeginselen van arrays en lijsten doorneemt, u kunt test de code rechtstreeks in uw browser. Dit zijn de beste online Python-tolken die we hebben gevonden. Meer lezen in GIMP, u kunt allerlei aanpassingen aan uw afbeeldingen automatiseren. We gaan echter zo eenvoudig mogelijk beginnen door een script te implementeren dat de kleuren van de huidige laag inverteert.

Om te beginnen, open opnieuw een teksteditor en kopieer en plak het volgende 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() 

Dit volgt uit het script dat we eerder hebben gemaakt. De eerste paar coderegels leggen een aantal fundamenten, en de laatste paar regels zorgen voor de registratie. Hier is de belangrijke sectie:

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

We definiëren ons proces, vertellen GIMP naar welke componenten we gaan verwijzen en gebruiken vervolgens pdb.gimp_invert om het programma opdracht te geven de kleuren aan te passen. Sla dit op in het .py-bestandsformaat, voeg het toe aan de plug-insmap en open GIMP om te controleren of het werkt.

inverter huidige huidgimp plugin

Navigeer naar Filters > Aangepast > Huidige laag omkeren .

invert proces gimp plugin

U zou een resultaat moeten krijgen dat vergelijkbaar is met het bovenstaande. Het is natuurlijk al relatief eenvoudig om een ​​omgekeerde bewerking uit te voeren in GIMP, maar dit is slechts een startpunt. Het geweldige aan het schrijven van je eigen scripts 10 Hobby's belonen die programmeren of schrijven vereisen 10 Hobby's belonen die programmeren of scripten vereisen Wat voor soort programmeren en / of scripten kan je doen zonder grote bedrijven of opdrachtgevers te betrekken? Hier zijn verschillende ideeën die u nu kunt gaan verkennen. Meer lezen is dat u iets kunt maken dat volledig op u is afgestemd.

Volgende stappen in GIMP-scripts

Zodra u de basisprincipes van scripting in GIMP begrijpt, is het tijd om te gaan experimenteren. Denk na over wat voor soort processen je veel doet en dat zou handig zijn om 7 dagelijkse taken te automatiseren. Je wist niet dat je in enkele minuten kon automatiseren 7 Dagelijkse taken waarvan je niet wist dat je in enkele minuten kon automatiseren Er zijn veel dingen die je nu kunt automatiseren en die je tijd besparen en je toestaan ​​om je te concentreren op andere dingen. We geven je zeven dingen die je nu kunt automatiseren met de juiste tools. Lees verder . Dan komt het lastige deel: uitvinden hoe je code kunt gebruiken om die ideeën te realiseren.

Gelukkig kan GIMP enige hulp bieden. Navigeer naar Help> Procedure-browser en u krijgt toegang tot een lijst met alle procedures die u kunt gebruiken.

procedure browser

De procedure-browser geeft niet alleen de procedures zelf weer, maar geeft u ook informatie over welke parameters u in uw code moet invoeren.

U kunt door de volledige lijst met procedures bladeren of de zoekbalk gebruiken om het veld te verkleinen. Voeg vervolgens de procedurenaam en parameters in uw script in.

parameters

Deze informatie is van onschatbare waarde als u aan uw scripts werkt. Begin met een paar eenvoudige dingen, en voor je het weet, maak je enkele echt nuttige geautomatiseerde processen!

Heeft u hulp nodig bij het scripten met GIMP? Of heb je een tip die je met andere gebruikers wilt delen? Hoe dan ook, waarom neemt u niet deel aan het gesprek in de comments hieronder?

Afbeeldingscredits: Volkova Vera / Shutterstock

In this article