Hoe Photoshop te automatiseren met Photoshop Scripts

Hoe Photoshop te automatiseren met Photoshop Scripts / Programming

Photoshop is een geweldige tool voor het bewerken van afbeeldingen - en het is geen geheim dat we hier grote fans zijn. We hebben eerder besproken hoe je een eenvoudig logo ontwerpt Een eenvoudig logo ontwerpen in Photoshop Een eenvoudig logo ontwerpen in Photoshop Photoshop kan veel meer dan alleen foto's bewerken - het is meer dan in staat om eenvoudig te ontwerpen. Hier laten we u zien hoe u een eenvoudig geometrisch logo maakt. Meer informatie en over het maken van overbelichte foto's, zodat automatisering de volgende logische stap is zodra u de basis onder de knie hebt.

Je hebt misschien wel gehoord van Photoshop-acties. Deze bieden een eenvoudige manier om taken te automatiseren. Vandaag zal ik je laten zien hoe te gebruiken Photoshop-scripts. Photoshop-scripts zijn iets krachtiger dan acties en bieden u de mogelijkheid om het gedrag van het script tijdens runtime te wijzigen - iets wat acties niet kunnen doen!

Maakt u zich geen zorgen als dit complex klinkt: scripts zijn geschreven in JavaScript Wat is JavaScript en kan internet zonder dat bestaan? Wat is JavaScript en kan internet zonder het bestaan? JavaScript is een van die dingen die velen als vanzelfsprekend beschouwen. Iedereen gebruikt het. Lees meer, een eenvoudige maar krachtige taal.

Als je een fan bent van GIMP of het geld niet wilt uitgeven aan Photoshop, bekijk dan onze handleiding voor het automatiseren van GIMP met scripts Bespaar jezelf Tijd en inspanning door GIMP te automatiseren met scripts Bespaar jezelf tijd en moeite door GIMP te automatiseren met scripts 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! Lees verder .

Uw eerste script: formaat van afbeeldingen wijzigen

Bij het schrijven van scripts kunt u de ExtendScript Toolkit gebruiken. U hoeft dit niet te gebruiken, u kunt elke gewenste teksteditor gebruiken (ik hou van Sublime-tekst), maar er zijn veel voordelen aan het gebruik van deze toolkit. Het grootste voordeel is dat je kunt instellen breekpunten, waardoor het zeer eenvoudig is om uw code te debuggen en eventuele fouten te identificeren.

De ExtendScript Toolkit maakt deel uit van uw Creative Cloud-abonnement, dus ga je gang en installeer het vanuit je Creative Cloud-app of de bovenstaande website.

Open de toolkit eenmaal geïnstalleerd. Je krijgt deze nogal gedateerde interface te zien:

Hier is de code voor je eerste script - kopieer en plak deze in het hoofdcodevenster aan de linkerkant:

current_document = app.activeDocument; new_width = 670; current_document.resizeImage (UnitValue (new_width, 'px'), null, null, ResampleMethod.BICUBIC);

Laten we opsplitsen wat deze code aan het doen is. De current_document variabele slaat het actieve document op voorwerp van Photoshop. Dit is toegankelijk via de app.activeDocument syntaxis. Als u geen Photoshop uitvoert terwijl een document is geopend, wordt deze code wel gebruikt gooi een uitzondering. Uitzonderingen zijn manieren waarop code de uitvoering kan stoppen - dit script kan niet doorgaan als er geen document is!

De new_width variabele slaat de breedte op die u wilt dat uw nieuwe document is.

eindelijk, de resizeImage methode wijzigt het formaat van de afbeelding. Dit moet toegankelijk zijn via de current_document variabel. U moet uw nieuwe breedte doorgeven (geconverteerd naar pixels via de UnitValue methode), en de ResampleMethod van bicubic.

Er zijn vijf belangrijkste herbemonsteringsmethoden voor u beschikbaar. Deze variëren allemaal in termen van snelheid en kwaliteit, dus speel met ze mee (hoewel Bicubic prima is voor de meeste doeleinden). Hier is een korte samenvatting van de verschillen:

  1. Dichtstbijzijnde buur: Zeer snel maar eenvoudig.
  2. Bilinear: Beter dan dichtstbijzijnde buur, maar langzamer en niet zo goed als Bicubic.
  3. bicubic: Zeer goede resultaten, maar rekenkundig duur.
  4. Bicubic Smoother: Een verbeterde versie van Bicubic voor opschaling (groter maken).
  5. Bicubic Sharper: Een verbeterde versie van Bicubic ontworpen voor downsampling (kleiner maken).

Vergeet niet om deze te kapitaliseren wanneer u ze in uw code gebruikt.

Nu je de code begrijpt, is het tijd om het uit te voeren! Zorg ervoor dat u Photoshop hebt geopend, samen met een document.

Aan de bovenkant van de ExtendScript Toolkit wijzigt u de doelwit vervolgkeuzemenu (linksboven) van ExtendScript Toolkit CC naar Adobe Photoshop CC 2017 (of wat uw specifieke versie van Photoshop ook is). Als u scripts schrijft voor andere Adobe-apps, kunt u dit in plaats daarvan wijzigen.

Druk nu op Spelen knop rechts van het doel dropdown, op de Rechtsboven van uw code.

Als alles correct is verlopen, wordt het formaat van je document nu aangepast (vergeet niet om het op te slaan). De JavaScript-console in de rechterbovenhoek van uw toolkit wordt de uitvoer van uw script weergegeven. Omdat er geen output is, zal dit zeggen Resultaat: niet gedefinieerd.

Als er een probleem is (zoals een uitzondering die wordt gegenereerd), wordt uw code niet uitgevoerd en krijgt u een oranje balk ongeveer de locatie van het probleem.

Dit kan een simpele typfout zijn, dus na het stoppen van het script (Besturingselementen rechtsboven > Stop knop), dubbel Check:

  • Uw code is correct en heeft geen typefouten.
  • Photoshop is actief.
  • U hebt een document geopend in Photoshop.

Scripts uitvoeren

Nu je code correct werkt, is het tijd om hem aan Photoshop toe te voegen.

Ga in je toolkit naar het dossier > Opslaan, en sla je script op op een geschikte locatie met een geschikte naam. Standaard is dit de Adobe Scripts map. Merk op hoe scripts moeten eindigen in de .JSX formaat.

Binnen Photoshop, ga naar het dossier > scripts > Script Events Manager. Kruis aan Schakel gebeurtenissen in om scripts / acties uit te voeren.

Eenmaal ingeschakeld, kunt u met deze interface bestaande scripts configureren om uit te voeren wanneer bepaalde acties plaatsvinden. Er zijn verschillende belangrijke gebieden:

  1. Photoshop-evenement: Dit is het moment waarop het script wordt uitgevoerd. U kunt kiezen uit verschillende opties, zoals afdrukken, een nieuw document openen en nog veel meer.
  2. Script: Dit is het script dat moet worden uitgevoerd. Er zijn een paar basistypen ingebouwd, maar je kunt hier ook een van je eigen scripts toewijzen.
  3. Actie: Als u geen script gebruikt, kunt u een standaardactie kiezen om in plaats daarvan uit te voeren, zoals opslaan in PDF.

kiezen Script, en kies dan Blader. Selecteer je script. Ga je gang en kies een evenement dat je script activeert.

Als u klaar bent, klikt u op Toevoegen en dan Gedaan. In dit menu kunt u ook eerder geconfigureerde scripts bewerken of verwijderen.

Als u uw script niet aan een actie wilt koppelen, is het nog eenvoudiger om het in te stellen. Ga naar het dossier > scripts > Blader. Navigeer naar uw script en druk op Openen. Je script wordt onmiddellijk uitgevoerd.

Als u uw script in dit scriptmenu wilt zien, moet u het naar de juiste map kopiëren. Dit is te vinden in de presets > scripts map van uw Photoshop-installatie.

Eenmaal gekopieerd, start Photoshop opnieuw. Nadat het opnieuw is opgestart, is uw script zichtbaar als een menu-item in de het dossier > scripts Menu.

Wijzig de grootte van afbeeldingen: Making It Better

Nu u begrijpt wat Photoshop-scripts zijn, is het tijd om de code te verbeteren.

Deze code werkt erg goed bij het wijzigen van de grootte van afbeeldingen naar x 670 pixels (of hoe groot je deze ook hebt gewijzigd), maar het kan beter zijn. Gelukkig is JavaScript een zeer flexibele taal!

Laten we de code zo aanpassen dat afbeeldingen die kleiner zijn dan het nieuwe formaat niet van grootte veranderen. Hier is de code:

current_document = app.activeDocument; new_width = 670; if (current_document.width> new_width) current_document.resizeImage (UnitValue (new_width, 'px'), null, null, ResampleMethod.BICUBIC); 

Er is hier maar één verandering. Een als statement is om de resize-methode heen gewikkeld. Als de huidige documentbreedte (toegankelijk via current_document.width) is kleiner dan de nieuwe breedte, wijzig het formaat niet.

Dit zorgt ervoor dat kleine afbeeldingen niet worden vergroot, wat de kwaliteit zou verminderen.

Wanneer u code begint te typen in de toolkit, geeft dit suggesties voor geldige wijzigingen die u kunt aanbrengen, methoden om te bellen of eigenschappen om te openen. Dit is erg handig en je zou er volledig van moeten profiteren!

Hier is een laatste verandering:

current_document = app.activeDocument; // Download het actieve document new_width = 670; // nieuwe breedte naar ressize naar if (current_document.width> new_width) // als document groter is dan nieuwe grootte current_document.resizeImage (UnitValue (new_width, 'px'), null, null, ResampleMethod.BICUBICSHARPER);  current_document.activeLayer.autoContrast (); // Pas contrast current_doc.activeLayer.applySharpen () toe; // Toepassen verscherpen

Deze code bevat nu opmerkingen, iets dat alle code zou moeten bevatten 10 Tips voor het schrijven van Cleaner & Better Code 10 Tips voor het schrijven van Cleaner & Better Code Writing schone code ziet er eenvoudiger uit dan het in werkelijkheid is, maar de voordelen zijn het waard. Hier leest u hoe u vandaag schonere code kunt gaan schrijven. Meer lezen en die u in de toekomst zullen helpen.

De resample-methode is gewijzigd in Bicubisch scherper - dit levert iets betere resultaten op bij het verkleinen van afbeeldingen.

Ten slotte is contrast en verscherping als laatste stap toegepast.

Wat gaat u coderen?

Inmiddels zou je alles moeten weten wat je nodig hebt om te automatiseren iets in Photoshop! Als je het in Photoshop kunt doen, kun je het waarschijnlijk automatiseren. De Photoshop-API Wat zijn API's en hoe zijn Open API's die het internet veranderen Wat zijn API's en hoe veranderen Open API's het internet Heb je je ooit afgevraagd hoe programma's op je computer en de websites die je bezoekt met elkaar "praten"? Meer informatie biedt toegang tot veel functies en hun documentatie beschrijft bijna elke functie waartoe u toegang hebt.

Natuurlijk waren de voorbeelden van vandaag slechts standaard, maar ze behandelen de kerndetails - u kunt een script implementeren dat specifiek is voor uw vereisten!

Heb je vandaag iets nieuws geleerd? Wat zijn je favoriete scripts? Laat het ons weten in de comments hieronder!

Image Credit: whiteMocca via Shutterstock.com

Ontdek meer over: Adobe Photoshop, fotografie, scripting.