top of page

Scripting Photoshop

CASE

1.500 dias med familiebilleder skal renses, scannes, redigeres, kommenteres og sendes til print.

 

Dias er monteret Agfa rammer med glas og opstillet i kassetter til lysbilledaparat. Efter en længere periode i et skab, er glasset i rammerne ikke længere gennemsigtigt.

Dias flyttes over i nye, glasfri rammer og scannes herefter ind med Nikon Coolscan V, efter at det er lykkes at få scanneren til at virke i Windows 7. Filerne gemmes i mappe, navngivet efter nummeret på kassetten. Filnavnet svarer til rammens nummer i kassetten. Der er 50 rammer i hver kassette.

Billederne beskæres, redigeres i Photoshop/Lightroom og gemmes som TIF.

Nu er projektet sådan set slut. Billederne kan eksporteres til JPEG og sendes til on-line fremkaldelse. Bortset fra, at der til samlingen hører et charteque med maskin- og håndskrevne notater. Et ark pr. kassette med halvtreds nummererede linier med årstal, kommentar og begivenhed.

 

Hvis man kunne tilføje disse kommentarer, ville billederne få en langt højere værdi. At gøre det manuelt på 1.500 billeder er ikke realistisk. Det vil heller ikke være let at foretage rettelser, ændre skrifttype, tekstposition etc.

LØSNING

Det mest indlysende må være, at benytte en database til at få styr på de informationer der skal bruges. Så snart man har alle data gemt i databasen, kan der uden besvær rettes, slettes og tilføjes. Data kan trækkes ud og formes og forarbejdes i det uendelige.

I dette tilfælde benytter vi mySQL som vi administrerer med PHP. Alt kan således foregå i en browser.

Lad os starte med at oprette databasen og deri en tabel med felterne cas, pos, header og note. Felterne vil indeholde nummeret på kassetten, rammes nummer i kassetten, en bemærkning til billedet og en oplysende note, f.eks. sted eller begivenhed.

Dernæst bruger vi PHP til at oprette en HTML side til indtastning af data. Bemærk at alle eksempler vises i uddrag.

Når kassetten er oprettet, vises 50 linier til indtastning af data i de relevante felter.

Hver en linie er en nøgle i en array med 50 nøgler (item[1], item [2], etc) med hver 4 undernøgler ([pos], [year], [header] [note]). Når formularen indsendes, vil PHP indlæse værdierne i de relevante felter i databasen.

Under indtastning vil et tomt felt få tildelt indholdet fra det tilsvarende foregående. Så slipper man for at skulle skrive "Ferie i Jylland" tyve gange i træk.

Når vi har indtastet alle data til en kassette, skal vi have noget Javascript ud til at anvende i Photoshop. PHP exporterer kommentarene som en tekstblok.

var cas = 2

var imgs = new Array(50);
for (ix = 0; ix < 50; ix++) {

   imgs[ix] = new Array(4);

}

imgs[0][0] = "1"
imgs[0][1] = "1969"
imgs[0][2] = "Legoland"
imgs[0][3] = "Sønderjylland sommer"

imgs[1][0] = "2"
imgs[1][1] = "1969"
imgs[1][2] = "Legoland"
imgs[1][3] = "Sønderjylland sommer"

etc etc ...

Teksten gemmes som f.eks. 2.jsx og kan nu inkluderes i det script som behandler billederne i Photoshop.

Der benyttes et standardscript til kørsel af billeder i en mappe. Billeder indlæses fra en mappe, behandles og exporteres til JPEG i en undermappe.

 

 

 

Billederne indlæses i en løkke, som en for en tilføjer tekst til billedet (og anden redigering, såfremt det måtte være nødvendigt),exporterer billedet og lukker originalen. Der returneres herefter til starten af løkken.

 


KONKLUSION

Kan det betale sig?. At bruge scripts i stedet for actions eller manuelle operationer?. Det afhænger af opgaven.

I ovennævnte eksempel var der aldrig kommet tekst på billederne, hvis det skulle gøres manuelt. Selv hvis der blev benyttet en action, skulle man redigere teksten direkte på hvert billede manuelt.

Data ligger stadig i databasen og kan stadig rettes i. Hvis der skal køres et sæt billeder med større skrift, eller med udeladt reference til kassette, ændres standardscriptet på få steder.

CASE

bottom of page