Create en kalender ved hjelp av skripting i Photoshop
Opprette en grafisk kalender for hånd er ikke en lett oppgave. Det er derfor det er best hvis du kan finne en måte å automatisere prosessen. I dagens ’ s opplæringen vil vi vise deg hvordan du kan gi en årlig, custom bakgrunn kalender ved hjelp av Javascript. Hvis du ’ re litt av en dataprogrammerer, er det flott, hvis ikke, don ’ t bekymre dette vil være ganske grei
Trinn 1
Ifølge. Adobe, er et script en serie med kommandoer som forteller Photoshop til å utføre en eller flere oppgaver. Det første du trenger å gjøre er å ta en titt på Adobes Javascript Reference. Du finner den her. Denne inneholder alle objektegenskapene og metoder Photoshop CS4 støtter, med eksempler, og det vil gi deg en idé om hva slags ting du kan gjøre med scripting i Photoshop. Hvis du bruker en eldre versjon kan du finne referanser her.
Trinn 2
Så la oss komme i gang. Hovedideen for prosjektet er å skape tekstlag for hver måned som inneholder datoene, så vi skal jobbe hovedsakelig med tekst manipulasjon. Åpne Extend Toolkit og opprette en ny Javascript-fil (Command + N). Dette vil inneholde alle kommandoene vi kommer til å gi Photoshop. Hvis du ikke ønsker å bruke Extend Toolkit, kan du bruke noen enkel tekst editor.
Trinn 3
Først må vi definere noen variabler for dokumentattributter og kalenderen fargevalg. Jeg gjorde mitt dokument 1280x800 på 72 piksler /tomme oppløsning, heter det " PhotoshopScriptCalendar " og valgte 2010 som det året kalenderen vi vil skape.
Dette er den grunnleggende fargevalget vi kommer til å bruke. " NormalColor " er for ukedager og månedsnavn. For søndager jeg brukt en annen farge for å gjøre dem skiller seg ut, er dette " highlight ", og vi skal bruke " Back " som standardkalenderen bakgrunnsfarge hvis vi ikke velger et egendefinert bilde for det.
Trinn 4
Som jeg sa tidligere, er vi i hovedsak skal arbeide med tekst manipulasjon, så vi må definere noen variabler for innrykk og tekst som vi skal bruke gjentatte ganger, som måneden overskrifter.
For å sette en annen farge til søndager kolonnen, må vi gjøre det på en annen tekst lag fra den andre dager. Dette er grunnen til at vi har to overskrifter: " monthHeader " - Mandag til lørdag, og " sundayHeader ". Hver av disse to variablene ende med to " \\ r ". Disse står for nye linjen tegn, det samme som å trykke på returtasten på tastaturet. Neste vi definerer innrykk variabel. Legg merke til at den første januar er fredag, så for hver dag før at vi må sette et innrykk i stedet for tall. Antallet mellomrom av disse variablene avhenger av skriften du bruker og størrelsen på det, så det må litt sti og feiling før du får det riktig. Til slutt, lage en liste over alle navnene i måneden.
Trinn 5
Nå som vi har alle ting vi trenger, kan vi begynne å lage den psd dokumentet.
Som du kan se, koden er ganske lesbar. Til vår Photoshop program, legger vi et nytt dokument med den angitte bredde, høyde, oppløsning, og navnet vi definert tidligere, en fargemodus og beholde sin referanse i en ny variabel " doc ". Som standard alle nye dokumenter er i RGB, slik at vi kunne ha utelatt som parameter, men hvis du ønsker CMYK for eksempel kan du bruke " NewDocumentMode.CMYK ". Det samme med LAB, gråtoner og punktgrafikk. Du kan finne alle disse i referansene knyttet ovenfor.
Neste gjør vi et nytt utvalg og velg hele dokumentet, fyll den med vår bakgrunnsfarge, og til slutt velge den bort.
Trinn 6
Neste vi må legge til en egendefinert bakgrunn fra et eksisterende bilde. Stigningen bakgrunn fra det endelige resultatet postet ovenfor er faktisk et eget bilde.
For dette har vi tenkt å bruke openDialog () -funksjonen. Dette åpner dialogen mellom " File> Open " og setter i matrisen " fil " listen over utvalgte bilder. Vi kommer til å bruke bare det første valgte bildet som er i " fil " matrise i posisjon 0. Så, først må vi sjekke om noen bildet ble valgt
Deretter skal vi laste det valgte bildet i vår søknad og få en henvisning til det ved å ringe ". app.activeDocument " som returnerer det aktive dokumentet i Photoshop.
Resize bildet til våre foretrukne bredde og høyde. Igjen, gjør vi et nytt utvalg av hele dokumentet, kopiere dette valget og lukke dokumentet med mulighet for ikke å lagre endringene.
Til slutt, i vår kalender dokument, lime inn markeringen. Dette setter bildet som det første lag over bakgrunnslaget. Deretter navnet noe sånt som ". BackgroundImage ".
Legg merke til at hvis ikke bildet ble valgt i dialogboksen, ingen av disse kommandoene ville ha blitt gjort
Trinn 7
OK. Nå kommer den faktiske generasjon av kalenderen. Dette kan være litt vanskeligere, men vi tar det steg for steg, og forhåpentligvis vil det ikke være så vanskelig å forstå.
Vi må gjøre et sett av handlinger for hver måned i året. Til dette bruker vi en " for " loop. I utgangspunktet tar denne variabelen " Curr ", som vi bruker for å betegne den aktuelle måneden vi jobber med, setter sin opprinnelige verdi til 0, så gjør det sett av handlinger gjentatte ganger, økes verdien av " Curr " hver gang, helt til dette blir 12. Dermed går gjennom alle tolv måneder.
Først må vi definere to variabler vi skal bruke til å plassere våre måneder i dokumentet som et rutenett. Disse representerer X og Y-forskyving av hver måned. Vi kommer til å sette 4 måneder på en enkelt rad, så for X offset vi kommer til å bruke "% " operasjon. Dette returnerer resten av delingen av " Curr " til 4. Denne forskyvningen kommer til å være den samme for januar, mai, september, for februar, juni, oktober, og så videre, for hver måned i samme kolonne. For Y-forskyving vi bruke " Math.floor () " javascript funksjon som returnerer den største verdien, mindre enn divisjon resultat av " Curr " til 4. Dermed for månedene fra samme rad, Y offset er den samme.
Til slutt ønsker vi å ha de lag for hver måned i en egen gruppe. Så vi kommer til å starte med å lage et lag gruppe og gi den navnet på den aktuelle måneden. Vi bruker her en liste over månedene vi definert tidligere.
Trinn 8
Neste skaper vi et nytt tekstlag i vår gruppe og sette sitt navn til den aktuelle måneden. Dette kommer til å bli vår måned navn lag.
Nå må vi sette teksten attributter som tekstfarge, skriftstørrelse, og rettferdiggjørelse. Vi kommer til å angi hvilken type vår tekst til " PARAGRAPHTEXT " og gi våre lag de foretrukne dimensjoner. &Quot; innholdet " egenskap av " monthName " variabel står for den faktiske teksten som vil være synlig inne i laget, så vi vil at dette skal være navnet på den aktuelle måneden
Til slutt skal vi rotere lag 90 &grader.; mot klokken og posisjon vårt lag. Her skal vi bruke vår offset variabler " x " og " y ".
Vær spesielt oppmerksom på at posisjoneringen er gjort i forhold til lagene 'øverst i venstre hjørne, men siden vi har rotert den 90-graders CCW det nå har blitt venstre hjørne. Hvis dokumentet har ulike dimensjoner fra meg, må du kanskje endre konstantene jeg brukes til posisjonering. Verdiene jeg brukte er listet opp nedenfor.
Trinn 9
Det neste vi kommer til å gjøre teksten laget som skal inneholde alle datoene i inneværende måned, unntatt søndager. Vi kommer til å legge den til i gruppen vi opprettet tidligere, og sette sitt navn, begrunnelse, farge font og størrelse, og plassere det. Vi kommer til å legge innholdet i dette litt senere, jeg skal forklare hvorfor, når vi kommer til det punktet.
Samme for søndager lag, men denne gangen har vi tenkt å sette farge til " highlight ".
Trinn 10
Nå må vi lage to variabler som vil holde vår tekst som vi genererer det, " text " vil inneholde ukedagene og " textSun " de søndager. Vi starter fra ved å legge til overskrifter og sette innrykk for den første i måneden. Vi skaper en ny date med javascript " Date () " funksjon fra år av vår kalender, inneværende måned, og den første i den måneden, og får sin posisjon i uken. Husk at nummereringen starter alltid fra 0, så for eksempel hvis den første i måneden er en mandag, " n " vil være 0, hvis det er en tirsdag, " n " vil være en og så videre. Da må vi legge til innrykk vi definert i begynnelsen til vår " text " variable så mange ganger som nødvendig. Hvis den første i måneden er en onsdag for eksempel, vil vi legge til strekpunkt to ganger.
Trinn 11
OK. Det er på tide å generere alle tallene for måneden. Til dette trenger vi å vite hvor mange dager det er i vår nåværende måned og vi trenger tallene i " ledende nuller " format, så vi må gå tilbake og definere to egendefinerte funksjoner: " daysInMonth " og " makeDay ". Så kan du bla opp til toppen av koden din og legge disse funksjonene. Som jeg sa " daysInMonth " funksjonen returnerer antall dager i måneden vi gi det, og " makeDay " returnerer antall vi gi det i et bestemt format og legger litt tomrom, er nødvendig for å adskille dagene i måneden. Så, for eksempel hvis vi kaller " daysInMonth " funksjon med året = 2010 og måneden = 0 (januar) vil den returnere antall 31. Hvis vi kaller " makeDay " funksjon med d = 3 for eksempel, vil den returnere teksten " 03 ", men hvis d = 13 det vil returnere " 13 ". Legg merke til at dersom " d " er mindre enn 10 vil det legge en null før det.
Vi kommer til å starte fra d = 1 og øke det til det når antall dager i måneden. Nå, hvis " i " har verdien " 6 " betyr det at det er en søndag, så vi må legge det til søndag lag. Husk å sette en " \\ r " her for ny linje. Ellers legger vi det til på hverdager. Her legger vi en ny linje bare hvis den aktuelle dagen er " Lørdag " (" i " er " 5 "). På slutten, må vi øke både " i " og " d ", og hvis verdien av " i " når " 7 ", som er hvis den siste dagen lagt var en søndag, må vi gjøre det " 0 " en gang til.
Endelig har vi alle datoene i våre tekstvariabler, og vi kan legge dem til våre lag. Grunnen til at vi har forsinket dette trinnet er at det tar litt tid for Photoshop til å legge til tekst i et lag, så det er bedre å legge alt på en gang, i stedet for å legge til hver dag for seg.
Trinn 12 Anmeldelser
Så, er alle måneden lagene nå generert, og alt vi trenger å gjøre er å gjøre det i år laget, og den lille linjen nederst. For året laget er det samme prosedyre vi brukte før, opprette et nytt lag, gi den et navn, tekststørrelse og farge, og plassere den hvor vi vil.
For bunnlinjen er det litt annerledes. Først må vi definere en region med X og Y-koordinatene for alle fire hjørnene, deretter foreta et valg ut av regionen, fyll den med vår farge på et nytt lag, og til slutt velge den bort.
Step 13 Anmeldelser
Alle våre kode er ferdig! Det eneste å gjøre nå er å kjøre den. Hvis du bruker Extend Toolkit, fra rullegardinmenyen velger " Adobe Photoshop ", hvis du ikke har Photoshop åpnes, klikker du på det lille ikonet til venstre " Koble til målet søknad ", og trykk på play-ikonet. Hvis du har brukt en annen tekst editor, lagre filen med " JS " eller " .jsx " utvidelser, og kjøre det fra Photoshop: File> Scripts> Bla og velg filen
Konklusjon
Vi er ferdig.! Håper du har hatt glede av å jobbe på denne lille prosjektet. Skript i Photoshop er svært nyttig når du trenger å gjøre repetitive handlinger og kan gjøre jobben mye lettere når du først får taket på dem. Ikke nøl med å sende noen forslag du måtte ha, de er alltid velkommen! Anmeldelser