Script cloud de etichete în Illustrator. Cum se instalează scripturi în Adobe Illustrator

Adobe Illustrator are multe instrumente și funcții pentru a implementa orice idee. Dar chiar și cu atât de multe posibilități în arsenalul tău, ceva va lipsi cu siguranță. Pe Internet puteți găsi acum multe scripturi și plugin-uri pentru Adobe Illustrator care își extind funcționalitatea. Fără aceste suplimente, Adobe Illustrator s-ar putea să nu poată face față unor sarcini sau poate adăuga muncă suplimentară pentru artist. Așa că astăzi ne vom uita la câteva scripturi utile și gratuite pentru Adobe Illustrator.

Instalarea scripturilor

Pentru ca scriptul să funcționeze în Adobe Illustrator, trebuie să îl plasăm în folderul Scripts, care se află în directorul Adobe Illustrator. În cazul meu, este .../Adobe/Adobe_Illustrator_CS5/Presets/en_GB/Scripts. Dacă utilizați o versiune anterioară a programului, în locul Adobe_Illustrator_CS5 în cazul dvs., poate fi Adobe_Illustrator_CS4, Adobe_Illustrator_CS3 etc.
Dacă ați descărcat scripturi care sunt comprimate într-o arhivă, nu uitați să le despachetați. După instalare, trebuie să reporniți Adobe Illustrator.

Scripturile disponibile pentru utilizare pot fi găsite în fila Fișier din submeniul Scripturi.

Selectați Deschideți Calea

Acest script va găsi și selecta toate formele cu o cale deschisă. Acest script va fi util la crearea unui vector pentru microstocuri, deoarece buclele închise sunt unul dintre criteriile de acceptare a lucrărilor dumneavoastră în baza de date microstock.

Închideți toate căile / Închideți toate căile selectate

Acest script închide conturul tuturor formelor sau formelor selectate. Deci, de exemplu, după ce căutați căi deschise folosind Select Open Path, le puteți face închise.

Împărțiți cadre de text

Folosind acest script, puteți împărți un singur câmp de text în altele mai mici, iar punctul de împărțire va fi o tranziție la o nouă linie.

Alăturați cadre de text

Acest script va combina mai multe câmpuri de text într-unul singur.

Fleurify

Datorită acestui scenariu, figurile vor fi decorate cu curbe florale frumoase.

Metaball

După utilizarea acestui script, mai multe forme simple se vor transforma în altele mai complexe.

CMYK la Pantone v.2

Acest script convertește modul de culoare CMYK în Pantone

Cerc

Datorită acestui script, puteți crea forme de cerc cu numărul necesar de puncte pe el.

Scoateți ancorele

Acest script va șterge punctele selectate de pe figură.

Orice colț

După utilizarea acestui script, colțurile ascuțite ale formei vor fi convertite în cele rotunjite.

Schimbați obiecte

Acest script va oferi unui obiect proprietățile celui de-al doilea, iar celui de-al doilea - proprietățile primului. Proprietățile vor fi dimensiunea și locația pe scenă.

Selectați Calea după dimensiune

Pluginul vă va ajuta să găsiți forme de o anumită dimensiune.

De obicei, când vine vorba de programe pentru designeri, o atenție primordială este acordată capacităților artistice ale aplicațiilor - instrumente de desen, filtre etc. Dar în Viata de zi cu zi De asemenea, trebuie să faci față rutinei. Din fericire, software-ul de la Adobe (inclusiv Illustrator) a început să accepte scrierea de scripturi (scripturi) care vă permit să mutați munca monotonă pe umerii unei mașini. Și nu mai lucrați în Illustrator - îl gestionați, iar acestea, după cum se spune în Odesa, sunt două diferențe mari!

Recunoscând că marea majoritate a utilizatorilor Illustrator sunt artiști și designeri care nu au întâlnit programare, voi încerca să construiesc o imagine de ansamblu asupra funcționalității scripturilor, astfel încât cititorii să nu aibă impresia că această activitate necesită un fel de mod „special” de gândire și educație specială pe termen lung. În același timp, îmi cer scuze profesioniștilor pentru unele simplificări ale redactării de dragul accesibilității materialului. Autorul însuși s-a aflat cândva într-o situație similară și la început nu a considerat această zonă ca fiind eparhia sa. Dar am petrecut mai puțin de două săptămâni studiind și acum pot spune: având o înțelegere minimă a programarii, stăpânirea scripturilor este o sarcină complet fezabilă.

Scripturile pentru Illustrator pot fi scrise în orice limbă: JavaScript, Visual Basic(Windows) și AppleScript (Mac OS). Deoarece majoritatea cititorilor sunt familiarizați cu primul (mulți designeri de tipărire creează cu succes și pagini de internet care îl folosesc), ne vom baza pe el. În plus, JavaScript este independent de platformă: scripturile scrise în el vor funcționa în ambele sisteme de operare - Windows și Mac OS. Modul de acces la elemente este orientat pe obiecte: pentru a afla, de exemplu, grosimea marginii celui de-al doilea element vectorial de pe primul strat, trebuie să scrieți următoarea construcție:

app.activeDocument.Layer.pathItems.strokeWidth

Acest lucru poate fi interpretat astfel: mai întâi, este indicat obiectul de cel mai înalt nivel din ierarhia Illustrator (aplicație - aplicație, prescurtare pentru aplicație), apoi alegerea este restrânsă treptat la un element specific (în documentul activ, lucrați la primul strat; apoi, în stratul specificat, selectați al doilea obiect vectorial cel mai adânc și aflați grosimea marginii din acesta). Această metodă de accesare a elementelor este foarte convenabilă, deoarece vă permite să navigați cu ușurință prin varietatea de tipuri ale acestora care există în editor. Modelul complet al relațiilor poate fi găsit în descrierea bine scrisă (inclusă în kitul Illusstartor).

Parantezele pătrate indică faptul că elementul face parte dintr-o matrice. O matrice este o colecție de mai multe obiecte unite printr-o anumită caracteristică. De exemplu, Layers, pathItems, RasterItems, GroupItems, Selection etc. sunt matrice formate din obiecte de același tip (straturi de document, contururi vectoriale, imagini raster, grupuri etc.). Indicele (numărul ordinal) al elementului necesar din tablou este indicat în paranteze. Astfel, intrarea Layer desemnează primul strat, deoarece primul indice este întotdeauna „0”.

Obiectele pot fi accesate și prin numele lor Layer[„Chart”]. Pentru a face acest lucru, elementul trebuie să fie denumit explicit - manual, folosind paleta Straturi ( dublu click pe numele obiectului se deschide o fereastră cu proprietățile sale), sau dintr-un script. Pentru a nu scrie o construcție greoaie de fiecare dată când enumerează întregul „pedigree”, utilizați referințe:

pI = activeDocument.Layer.pathItems;

Apoi secțiunea de mai sus a codului va arăta astfel: pI.strokeWidth.

Este posibil ca un strat să nu fie accesat de fiecare dată ca obiect dacă toate operațiunile au loc pe același strat activ. Și rețineți că literele sunt importante în numele variabilelor: dacă scrieți pI prima dată și pi a doua oară, scriptul va genera o eroare și nu va funcționa.

Într-un model orientat pe obiect, există: aplicația în sine, clase (tipuri de obiecte, sau, folosind un concept mai familiar, substantive: straturi, obiecte vectoriale, grupuri etc.), metode (modalități de a interacționa cu acestea - verbe). : mutare, duplicare și etc.) și proprietăți (adjective: strokeWidth, fillColor, selectat etc.). Pentru a facilita navigarea, imaginați-vă că aplicația este o casă în care există diverse obiecte - un analog al claselor (ferestre, uși) care au anumite proprietăți (plastic, lemn), cu care efectuează anumite acțiuni - metode (deschise). , închide). Înțelegând esența unei astfel de ierarhii, este mult mai ușor de înțeles scripting-ul.

La nivelul de sus se află aplicația și, urmând literalmente regula subordonării obiectelor, ar trebui specificată pentru orice acțiune. Din motive de simplitate, linkul către aplicație poate fi omis - cu excepția cazurilor în care chiar trebuie să cunoașteți unele dintre proprietățile acesteia (de exemplu, fonturile disponibile - app.fonts).

Clasele Layer, Group, Text pot conține obiecte din aceeași clasă, care pot avea și copii. O caracteristică utilă a abordării obiectului este moştenire proprietăți. Astfel, toate căile vectoriale (pathItems) sunt copii ai unei clase mai generale - elemente de pagină (pageItems). Prin urmare, după ce a numit anumite proprietăți pageItems, îl atribuim automat pathItems.

În ciuda asemănării lor, clasele Straturi și Straturi sunt încă diferite. Primul este o colecție a tuturor straturilor din document, al doilea este doar unul specific; metodele și proprietățile lor diferă în consecință. Metodele add și removeAll pot fi aplicate primei, iar toate operațiunile disponibile pentru un strat separat pot fi aplicate celui de-al doilea. Obiectul este accesat direct ca element al matricei corespunzătoare - în cazul nostru prin Straturi, Straturi etc.

Elementul selectat corespunde unei clase separate - selecție, care este și o matrice (poate fi selectat un grup de obiecte). De o importanță deosebită în Illustrator sunt clasele pluginItems, Colors și Views. Primul are multe limitări datorită faptului că obiectele de acest tip nu sunt „native” pentru Illustrator. Acestea includ Blend, Envelope, Mesh și elemente similare. Vom lua în considerare caracteristicile celorlalte pe măsură ce le folosim.

Pentru ca scriptul să fie „vizibil”, acesta este plasat în folderul Presets.Scripts, aflat în folderul în care este instalată aplicația. Vom lua în considerare exemple reale (acest lucru vă va permite să simțiți imediat utilitatea scripturilor) și să le scriem sub Illustrator CS, deoarece scripturile sale sunt mai flexibile decât versiunile anterioare.

Exemplul 1: Îmbinarea obiectelor

Să începem cu cel mai simplu lucru - vom scrie un script care conectează obiectele subordonate cu linii la cel principal (o sarcină frecventă la crearea diagramelor de flux, a documentației tehnice și a lucrărilor similare). Și vom atinge aspecte de bază precum lucrul cu obiecte selectate, crearea de noi straturi, plasarea obiectelor, schimbarea ordinii acestora, crearea și includerea curbelor într-o cale compusă.

Lucrul cu acest tip de documente implică utilizarea pe scară largă a simbolurilor - efectuarea modificărilor acestora actualizează automat toate copiile create. Cu toate acestea, Illustrator nu funcționează întotdeauna corect cu astfel de elemente: se întâmplă să nu citească numele obiectelor care sunt copii ale simbolurilor. Ca urmare, selectarea lor după nume nu este fezabilă. Prelucrarea tuturor elementelor de acest tip nu are nicio utilizare practică în stratul curent. Ca urmare, am fost înclinat să prefer o opțiune alternativă, în care trebuie mai întâi să selectați obiectele necesare (cel mai simplu este să selectați un simbol și să căutați copiile acestuia folosind comanda Select.Same Instances), apoi selectați element de referință cu care vor fi conectate.

Deci să începem. Pentru a o scurta, să introducem variabila sel, pe care o vom accesa atunci când trebuie să efectuăm orice acțiuni asupra obiectului selectat. Apoi vom verifica câte elemente sunt selectate (deși matricea de selecție include și orice caractere de text selectate, nu vom verifica dacă nu este textul selectat). Scrieți dacă (lungimea seel<2) означает, что мы сравниваем значение length (количество объектов класса sel) с двойкой — минимальным количеством для работы сценария. Если выделенных элементов меньше, будут выполняться действия, заключённые в первые идущие за оператором if фигурные скобки, иначе — идущие после else. При этом логично предусмотреть выдачу сообщения, чтобы сориентироваться в ситуации и понять, что нужно сделать.

sel = activeDocument.selection
dacă (lungimea seel<2) {br>alertă („Nu sunt suficiente obiecte pentru a continua! \nSelectați cel puțin 2 obiecte și ultimul — obiect țintă!”) )
altceva(

Alerta este o funcție JavaScript standard care afișează o fereastră cu textul specificat și un buton OK. „\n” înseamnă o linie nouă și este folosit pentru a menține dimensiunea ferestrei mică. Textul afișat în fereastră trebuie să fie cuprins între ghilimele.

Etapa pregătitoare

Să obținem coordonatele centrului obiectului de referință. Deoarece am convenit că este cel de sus, numărul său (indice) este „0” (sel). Pentru a calcula coordonatele, vom folosi proprietăți ale obiectului, cum ar fi poziția, lățimea și înălțimea. Valorile de poziție sunt stocate într-o matrice formată dintr-o pereche de valori - coordonate de-a lungul axei X și respectiv Y. Prin urmare, fiecare trebuie abordat ca poziție și poziție.

refObj_x = sel.position + (sel.width/2);
refObj_y = sel.position - (sel.height/2);

Am obținut coordonatele centrului obiectului de referință și le-am atribuit două variabile pentru utilizare ulterioară. A doua linie conține semnul „—”, deoarece colțul din stânga jos al documentului este luat ca punct de referință în Illustrator, iar poziția oferă coordonatele colțului din stânga sus al elementului.

Deoarece comoditatea joacă un rol important atunci când lucrați cu un document, ne vom asigura că liniile create sunt pe un strat separat - o astfel de structură va ajuta la menținerea ordinii în machete de complexitate diferită.

Creăm un nou strat - acesta, ca orice element Illustrator, este creat prin metoda add() aplicată clasei de obiecte corespunzătoare. În paranteze, puteți specifica parametrii acțiunii: indicați obiectul destinație (ar putea fi, de exemplu, un strat sau chiar un document nou, precum și poziția la destinație). Spre deosebire de majoritatea metodelor, nu există parametri suplimentari pentru adăugare, așa că pentru a-l transfera la nivelul superior vom folosi o metodă specială - zOrder, la care specificăm BRINGTOFRONT ca parametru (o constantă rezervată, a cărei listă completă este dată în documentația). În principiu, dacă există un singur strat în document, nu este nevoie să specificați în mod specific poziția celui nou, deoarece Illustrator îl plasează întotdeauna deasupra celui actual. Dacă obiectele de conectat nu sunt situate la nivelul superior, va fi necesară a doua linie.

newlayer = activeDocument.layers.add();
newlayer.ZOrder(ZOrderMethod.BRINGTOFRONT);

Prima linie poate fi citită astfel: creați un nou element prin creșterea (adăugarea) numărului de obiecte de tipul necesar (straturi) și atribuiți o legătură către elementul nou creat variabilei newlayer. La momentul inițial, stratul este gol, deoarece încă nu a fost plasat nimic în el. Pentru a simplifica orientarea într-un aspect complex, să dăm stratului numele „Conectori” (folosind metoda numelui) - după cum puteți vedea, numele metodelor indică clar acțiunile efectuate.

newlayer.name = „Conectori”;

În scopuri educaționale, nu vom crea linii de legătură separate, ci unite într-un obiect de tip Compound Path - pentru ușurință de editare. Crearea unui astfel de obiect repetă procedura deja cunoscută, de data aceasta aplicată clasei compoundPathItems:

newCompoundPath = activeDocument.compoundPathItems.add();

Deoarece în ultimul pas am creat un nou strat, acesta este activ - în consecință, obiectele care sunt create vor fi localizate pe el și nu este nevoie să-l specificați în mod specific (activeDocument.newlayer).

Determinarea coordonatelor elementelor subordonate

Vom combina acest proces cu ieșirea liniilor de conectare în sine, deoarece numărul lor trebuie să corespundă cu numărul de obiecte. Începem să iterăm toate elementele selectate unul câte unul („i++” înseamnă creștere cu unul) și citim coordonatele acestora. Să începem căutarea nu cu primul obiect din tabloul Selection (după cum vă amintiți, este obiectul de referință), ci cu al doilea (sel). Următoarele rânduri ne sunt deja familiare:

pentru(i=1; i< sel.length; i++) {
obj_x= sel[i].poziție + sel[i].lățime
obj_y = sel[i].poziție — sel[i].înălțime

După ce am primit coordonatele centrului elementului copil, vom începe să creăm o linie care să-l conecteze cu cel de referință. Pentru fiecare element selectat, creăm un nou obiect - o cale vectorială inclusă în clasa CompoundPath, crescând numărul total de căi:

newPath = newCompoundPath.pathItems.add();

Pentru a seta căi simple în Illustrator, există o metodă setEntirePath, ai cărei parametri sunt o matrice de coordonate ale punctelor de început și de sfârșit - care, după cum știm deja, sunt la rândul lor specificate ca șiruri de două valori (poziții de-a lungul două axe). În cele din urmă, terminăm condiția „dacă este selectat ceva” introdusă chiar de la început.

newPath.setEntirePath(Matrice(Matrice(refObj_x, refObj_y), Array(obj_x, obj_y))); )

Scenariul este gata. După cum puteți vedea, nu este nimic complicat în el: numele metodelor dezvăluie esența lor, iar modelul orientat pe obiecte ajută la înțelegerea clară a ierarhiei obiectelor Illustrator. Scriptul nu are nicio valoare practică anume (este mai degrabă educațional), dar folosind exemplul său s-au luat în considerare multe concepte de bază pe care ne vom baza în viitor (lucrarea cu obiecte selectate, principiul numerotării lor în tabloul de selecție, determinarea coordonatelor, crearea de noi straturi, linii de ieșire).

Exemplul 2: Detectarea contururilor prea subțiri

Operațiile de scalare în grafica vectorială sunt utilizate foarte activ. Prin urmare, atunci când reduceți dimensiunea obiectelor cu linii subțiri (dacă este activată opțiunea Scale strokes), grosimea lor devine adesea sub 0,25 pt (valoarea după care liniile devin puțin vizibile) și este motivul pentru care acestea dispar la imprimare. pe o imprimantă cu jet de cerneală. Nu există funcții încorporate în Illustrator pentru căutarea obiectelor cu valori ale cursei mai mici decât cele specificate. Este foarte dificil să le găsiți manual - va trebui să selectați fiecare obiect separat, ceea ce vă va descuraja rapid să vă implicați în astfel de verificări. Scriptul va simplifica semnificativ operația.

Scriptul în sine este mic în cea mai simplă formă, dar ne vom stabili scopul de a-l face mai universal - vom extinde funcționalitatea permițându-ne să specificăm grosimea minimă în fereastra de dialog. Desigur, puteți codifica această valoare în script-ul în sine și, dacă este necesar, o puteți ajusta de fiecare dată, dar, vedeți, acest lucru este incomod. De asemenea, vom prevedea specificarea elementului selectat ca obiect de referință cu valoarea minimă acceptabilă a marginii. În același timp, pentru statistici, vom număra numărul de elemente cu grosimea modificată și le vom evidenția pentru claritate.

Întregul script este împărțit în două părți: inițială (citirea valorii din fereastra de dialog sau din elementul selectat) și finală (căutare printre toate obiectele din document și reatribuirea grosimii marginii). Pe lângă demonstrarea modului de accesare a obiectelor Illustrator, ne vom uita la crearea unei mini interfețe pentru introducerea valorilor personalizate.

Introducerea valorilor

Primele două linii vor fi identice cu exemplul anterior, cu excepția faptului că „0” va apărea în loc de „2”, deoarece înainte de a rula scriptul trebuie să stabilim dacă există obiecte selectate. Comparația este specificată printr-un semn dublu egal (se atribuie o valoare).

var mySel = app.activeDocument.selection;
var go = adevărat;
dacă (sel == 0) (

Dacă nu este selectat nimic, grosimea minimă va fi setată prin caseta de dialog. Să-l afișăm folosind funcția standard JavaScript - prompt. Se deschide o fereastră cu un câmp în care puteți introduce o valoare și o puteți utiliza mai târziu. Sintaxa funcției este următoarea: mai întâi există un text indiciu care va fi afișat în fereastră (ținând cont de unificarea scriptului, nu vom folosi alfabetul chirilic, deoarece este adesea afișat incorect), apoi urmează valoarea care va fi implicit în câmpul de intrare. Există două avantaje: capacitatea de a seta imediat grosimea minimă acceptabilă și de a specifica orice valoare. Prin crearea unei variabile căreia i se atribuie valoarea funcției prompt, o puteți utiliza apoi în propriile scopuri.

Privind în viitor, voi observa că Illustrator nu oferă acces deplin la toate tipurile de obiecte - unele sunt omise. Prin urmare, vom oferi vizualizarea nu numai a elementelor corectate, ci și a celor care sunt inaccesibile pentru script, pentru a nu le căuta manual - până la urmă, ele pot conține și obiecte problematice. Pentru a nu afișa două casete de dialog (pentru valoarea grosimii și pentru a determina ce elemente să evidențiem), vom folosi capabilitățile de procesare a șirurilor JavaScript. Faptul este că conținutul unui câmp completat de utilizator este un „șir” (un bloc de informații), care poate conține orice număr de parametri (prin delimitatori). Cunoscând separatorul, valorile parametrilor individuali pot fi extrase cu ușurință din șir.

În consecință, textul prompt al ferestrei de dialog va fi după cum urmează: setarea grosimii minime a marginii și a unui număr condiționat: „1” dacă doriți ca scriptul să evidențieze elementele corectate, „2” - cele care nu ar putea fi „ atins".

valoare = prompt („Specificați pragul lățimii cursei (în pt),\n Ce să selectați: obiecte corectate (1) sau inaccesibile (2)”, „0,25, 1”)

Inițial, vom seta câmpul la 0,25 puncte (unitățile de măsură implicite în Illustrator), dar când îl schimbăm, se va folosi noua valoare și „1”. „2” ar trebui specificat doar dacă scriptul găsește obiecte inaccesibile (ne vom asigura că semnalează acest lucru la sfârșitul lucrării). Și vor deveni evidențiate, ceea ce ne va scuti de căutarea manuală (după cum știți, căutarea încorporată a Illustrator lasă mult de dorit).

Am sortat valorile de citire dintr-un câmp personalizat, să trecem la procesarea lor. Să verificăm dacă câmpul nu este într-adevăr gol (semnul „!” denotă negație, adică „!=" este echivalent cu „nu este egal”, null este un cuvânt înregistrat pentru o valoare goală). Dacă există ceva în ea, împărțim linia în blocuri separate folosind funcția JavaScript split (vom defini o combinație de simboluri „,” ca separator) și introducem valorile rezultate în matricea splitString. După aceasta, vom da valorile din matrice nume descriptive (primul va determina grosimea, al doilea va determina modul de funcționare).

dacă (valoare != nulă) (
splitString = value.split(“, “);
greutate = splitString;
tip = splitString; )

Dacă nu există nimic în câmpul utilizator, oprim executarea scriptului. Ultima paranteză de închidere este un semn de finalizare a condiției pe care am stabilit-o la început („dacă nu este selectat nimic în document”).

else ( merge = fals )

Dacă obiectul de referință este selectat în mod specific

Acum să scriem o secvență de acțiuni dacă am selectat în mod deliberat un element a cărui grosime a marginii dorim să o folosim ca valoare de prag. Vom afișa un avertisment despre acțiunile ulterioare ale scriptului folosind funcția standard de confirmare (creează o casetă de dialog cu două butoane - și). Dacă apăsați<Сancel>, munca se oprește, dar dacă sunteți de acord, scriptul va continua să funcționeze.

else ( selectedMsg = confirmare („Lățimea cursei obiectului selectat va fi folosită ca prag”)
dacă (selectatMsg != adevărat) (
merge = fals;
) altfel (

Să trecem la partea principală a scenariului. Nu luăm în considerare în mod deliberat situația în care sunt selectate mai multe obiecte - la urma urmei, pentru a seta grosimea marginii este suficient să selectați doar unul. Și ce valoare ar trebui folosită dacă se dovedește a fi diferită pentru elemente? După cum știm deja, singurul obiect selectat va avea un indice de „0”, iar pentru a obține grosimea chenarului, Illustrator are proprietatea strokeWidth. Să ținem cont de faptul că, în principiu, selecția poate conține nu numai elemente individuale, ci și o parte din text (de exemplu, selectat aleatoriu), care nu este inclus în planurile noastre, așa că înainte de a începe lucrul, să verificăm cu capabilitățile JavaScript pentru a vedea dacă tipul elementului selectat aparține unui tablou:

if (sel isArray) (
greutate = sel.strokeWidth;

Deoarece am fost de acord să selectăm numai obiectele modificate, trebuie să deselectăm referința în sine (ne referim la proprietatea sa selectată):

sel.selected = fals; ) ) )

Acum suntem complet pregătiți să îndeplinim sarcina principală a scriptului - căutarea obiectelor: valoarea care va fi folosită ca grosime minimă admisă este stocată în variabila wei.

împrejurări

Să o comparăm cu o proprietate similară pentru toate obiectele din document. Puteți merge imediat la căutare, dar utilizarea scriptului în munca de zi cu zi este necesară ținând cont de circumstanțe suplimentare - layout-urile conțin adesea atât straturi blocate, cât și obiecte individuale. Prin urmare, deși căutarea funcționează în ele, nu se pot face modificări. Pentru a asigura o verificare totală, vom adăuga mai multe operații la script: verificarea elementelor pentru conformitatea cu un anumit criteriu, în același timp deblocarea acestora, dacă este necesar, și amintirea indexului pentru a le readuce la starea anterioară după verificarea este finalizată. Introducem două variabile: prima pentru acces scurtat la toate straturile din document, iar cu ajutorul celei de-a doua obținem acces doar la cele blocate. Vom stoca numerele de serie ale acestuia din urmă într-o matrice, pe care o vom crea cu funcția JavaScript new Array().

var dL = activeDocument.layers;
var blockedLayers = nou Array();

Apoi vom căuta prin toate straturile și vom adăuga numărul de secvență al celor blocate (property locked=true) în tabloul blockedLayers (folosind funcția push din JavaScript), după care vom permite editarea lor (locked=false) .

dacă (du-te == adevărat) (
pentru (i=0; i dacă (dL[i].blocat == adevărat) (
blockedLayers.push(i);
dL[i].blocat = fals; Anterior, am fost de acord să selectăm obiectele corectate, dar după ce scriptul este finalizat pe straturi blocate, nu vom putea face acest lucru - trebuie să afișăm un avertisment corespunzător. Pentru a face acest lucru, folosim atributul lockedPresence, pe care îl setăm dacă cel puțin un strat este blocat.

LockedPresence = adevărat;

Vom repeta același lucru cu elemente individuale blocate. În cel mai simplu caz, este suficient să verificați toate elementele vectoriale (clasa pathItems), care includ căile compuse ca subclasă, astfel încât nimic să nu scape ochiul atotvăzător al scriptului.

Stânci subacvatice

Pe lângă situația avută în vedere cu blocarea, mai există o capcană. După cum sa menționat, unele elemente (în special, Blend Group și Envelope) nu sunt „native” pentru Illustrator, ele aparțin unui tip special de pluginItem. Cu toate acestea, accesul la astfel de obiecte nu este oferit în Illustrator; ele sunt „lucruri în sine”. Le putem „ajunge” doar printr-o clasă de nivel superior - pageItems, prin care putem măcar să le stabilim prezența și să afișăm un avertisment corespunzător la sfârșit. Se va spune că, rulând din nou scriptul și specificând „2” ca al doilea parametru în câmpul de introducere, va evidenția aceste „casete negre”.

pgI = activeDocument.pageItems;

Pentru a stoca indecși ai obiectelor blocate, vom crea o matrice blockedPathes, iar pentru a număra numărul de obiecte modificate, vom introduce variabila corectată.

blockedPathes = nou Array();
corectat = 0;

Pentru toate obiectele, vom verifica dacă aparțin tipului PluginItem (proprietatea typename): dacă sunt prezente, vom seta atributul pluginItemExist (starea acestuia va determina dacă este afișat un avertisment despre prezența unor astfel de elemente). În cazul unei verificări repetate (când al doilea parametru din câmpul de introducere este „2”) le vom evidenția:

pentru(i=0; i< pgI.length; i++) {
dacă (pgI[i].typename==„PluginItem”) (
pluginItemExist = adevărat
dacă (tip ==“2”) ( pgI[i].selectat = adevărat )

Așadar, am prevăzut toate (sau aproape toate) situațiile posibile care apar la locul de muncă și acțiuni determinate pentru acestea.

Verificare de bază

Acum este timpul să verificați de fapt aspectul pentru conformitatea cu criteriul de margine specificat. Să ținem cont de faptul că printre obiecte pot exista unele care nu au deloc margini (determinate de starea atributului mângâiat) - prin urmare, acestea trebuie excluse din verificare.

if((pgI[i].strokeWidth< weight)&&(pgI[i].stroked)) {
dacă (pgI[i].blocat == adevărat) (
blockedPathes.push(i);
pgI[i].blocat = fals;

Acest fragment de cod poate fi interpretat astfel: determinăm pentru fiecare element prezența unui chenar și grosimea acesteia. Dacă este mai mică decât minimul (if(pI[i].strokeWidth< weight), и объект заблокирован, его индекс занести в специально созданный для такой цели массив blokedPathes, после чего разблокировать для внесения возможных изменений. Знак && обозначает логическое «И» (обязательное совпадение двух условий) — толщины меньше минимальной и присутствия окантовки.

Apoi înregistrăm prezența obiectelor blocate (setăm atributul lockedPresence pentru a afișa un avertisment în viitor că nu pot fi selectate toate cele modificate) și îl selectăm pe cel corectat și atribuim o valoare de prag marginii sale - și așa mai departe pentru toate elemente. Pentru statistici, vom număra simultan numărul de obiecte modificate.

LockedPresence = adevărat;
pgI[i].selectat = adevărat;
pgI[i].strokeWidth = greutate;
corect++;

Anterior, au fost discutate acțiuni pentru evidențierea elementelor nebifate (tip ="2"). Acum să stabilim ce ar trebui să se întâmple într-o situație standard - în timpul unei căutări normale a obiectelor potențial problematice.

dacă (tip =“1”) ( pgI[i].selectat = adevărat )

Restabilirea stării articolelor blocate

Am finalizat sarcina principală - obiectele problematice au fost corectate și evidențiate. Tot ce rămâne este să restabiliți status quo - să readuceți tot ceea ce a fost blocat inițial la starea anterioară. Pentru a face acest lucru, în ciclul curent citim conținutul matricei, unde sunt stocați indexurile obiectelor blocate și setăm atributul blocat = adevărat pentru fiecare element corespunzător (metoda shift afișează ultima valoare introdusă în acesta din matrice ). Deoarece numărul total de obiecte este mai mare decât cele blocate, trebuie avut grijă să vă asigurați că ciclul de verificare se încheie după golirea matricei.

dacă (blockedPathes.length >0) (
retrievedPathes = blockedPathes.shift();
pI.locked = adevărat;))

Apoi vom întreprinde acțiuni similare în legătură cu straturi:

pentru (i=0; i dacă (blockedLayers.length >0) (
recuperat = blockedLayers.shift();
dL.blocat = adevărat; ) ) De fapt, pentru operații similare este mult mai convenabil să folosești funcții. Avantajul lor este că odată ce descrii anumite acțiuni, le poți repeta în întregime, pur și simplu apelând o funcție în locurile potrivite; Acest lucru asigură compactitatea și lizibilitatea scriptului. Pentru a crește flexibilitatea, funcțiilor li se transmit valorile (parametrii) pe care îi folosesc. Dacă nu doriți să utilizați funcțiile, săriți peste următoarele două paragrafe.

Să creăm două funcții: prima este pentru deblocarea straturilor și obiectelor, a doua este pentru restaurarea atributelor acestora. Doar tipurile de obiecte (clasa Layers și pageItems) și matricele pentru înregistrarea elementelor de interes pentru noi (blokedLayers și blockedPathes) se vor schimba în ele - vor apărea ca parametri de funcție. Să-l scriem pe primul astfel:

deblocare funcție (matrice, tip item)
dacă (itemType[i].blocat == adevărat) (
array.push(i);
itemType[i].blocat = fals;
blocat = fals;
}

În loc de array vom înlocui o matrice, iar în loc de itemType vom înlocui clasa necesară. Apoi primim două apeluri - deblocare (blockedLayers, dL) și deblocare (blockedPathes, pgI). Să scriem o funcție pentru a restabili starea într-un mod similar:

restaurare funcție (matrice, tip item)
dacă (lungimea matricei > 0) (
preluat = array.shift();
itemType.locked = adevărat;
}

Afișarea informațiilor despre rezultatele scanării

Aceasta este ultima etapă a scenariului. Mai întâi, vom defini condiția pentru afișarea unui mesaj dacă este selectată căutarea obiectelor needitabile, apoi condiția pentru apariția unui avertisment că astfel de obiecte au fost detectate:

if (tip == „2”) ( b = „\nVerificați selectat!” )
dacă (pluginItemExist == adevărat) (
alertă („Din cauza restricțiilor de scripting, unele obiecte nu pot fi afectate” + b) )

Logica din spatele emiterii unui avertisment că nu toate elementele corectate pot fi evidențiate este următoarea:

if ((lockedPresence == true) && (pluginItemExist == false)) (
warning= „\nDeoarece unele dintre ele sunt blocate, nu pot fi afișate ca selectate” )

Apoi afișăm rezultatele finale:

alertă („Numărul de obiecte corectate este: „ + corectat + avertisment)

Iată, de fapt, întregul scenariu. După cum puteți vedea, aceste câteva rânduri realizează o cantitate colosală de muncă, pe care aproape nimeni nu ar îndrăzni să o facă manual. Scriptul este executat instantaneu (în proiectele de anvergură, cu un număr de elemente de ordinul a câteva mii, performanța procesorului începe să afecteze). Tot ce trebuie să faci este să-l selectezi din lista celor disponibile (nici măcar nu trebuie să faci asta - Illustrator permite scripturilor să atribuie „taste rapide”) cu ajutorul Edit.Comenzi rapide de la tastatură.Comenzi din meniu.Comandă Scripturi. Dar fiți conștienți: numele scripturilor sunt sortate alfabetic, așa că adăugarea unora noi sau eliminarea celor vechi poate duce la reatribuirea cheilor către scripturile învecinate. Concluzie: după ce ați făcut modificări în folderul Presets\Scripts, verificați mapările tastelor.

Am încercat să facem scenariul universal, ceea ce i-a afectat volumul. În versiunea cea mai primitivă (fără a lua în considerare caracteristicile și capcanele descrise mai sus), ocupă literalmente câteva rânduri:

minWidth = activeDocument.selection.strokeWidth;
pI = activeDocument.pathItems;
pentru (i=0; i< pI.length; i++) {
if((pI[i].strokeWidth< minWidth) && (pI[i].stroked)) {
pI[i].strokeWidth = minWidth;
}}

Și desertul?

Vom dedica următorul număr cărților de vizită: vom scrie un script care automatizează aspectul lor pe o foaie. Cu toate acestea, este util și pentru o gamă mai largă de sarcini, deoarece nu este legat de dimensiunea obiectelor. După cum era de așteptat, vom prevedea crearea de ediții pentru a evita problemele cu tăierea incorectă a foii, precum și rotația cărților de vizită (dacă partea de sus și de jos sunt semnificativ diferite). În același timp, vom aborda problema căutării obiectelor al căror model de culoare diferă de cel dat, ceea ce nu este neobișnuit în astfel de lucrări.

Reviste sunt disponibile gratuit.

Pe acelasi subiect:

    Noutăți 2019-04-03

    Cum cerneala albă opțională ajută la crearea de noi aplicații pentru imprimarea în format mare.

    Astăzi, o serie de modele de imprimante de format larg și ultra-larg pot imprima cu o culoare suplimentară de cerneală - alb, ceea ce creează noi posibilități de utilizare a acestor dispozitive. Dar imprimantele pot implementa diverse tehnologii de imprimare cu cerneală albă și tehnologii diferite- capacitățile și limitările dvs.

Funcționalitatea Adobe Illustrator este enormă, dar există și câteva dezavantaje aici; din fericire, acest program are scripting, care simplifică și chiar extinde capacitățile programului. Pe lângă scripting, există și extensii - panouri personalizate pentru extinderea programului, dar acesta este un subiect ușor diferit.

Instalarea scripturilor

Dacă nu ați folosit niciodată scripting în Adobe Illustrator, iată ghidul dvs. ghid rapid cum se rulează scriptul.

Mai întâi, trebuie să plasăm scripturile pe care doriți să le utilizați în folderul „Scripts”. Cum pot găsi calea către acest folder? E simplu, mergi la rădăcina folderului în care se află programul Adobe Illustrator în sine, apoi „Presets -> en_US -> Scripts”, în loc de en_US poate exista un alt folder cu localizare, ce localizare are Illustrator, selectează o astfel de pliant.

După ce ați plasat scripturile în folder, le puteți rula folosind metoda standard - aceasta este lansarea prin „Fișier -> Scripturi”, în meniul derulant va apărea o listă a scripturilor dvs., faceți clic pe oricare dintre ele și veți rula scriptul. Chiar dacă scripturile dvs. se află într-un folder diferit, le puteți rula și în mai multe moduri:

  1. Accesați meniul „Fișier -> Scripturi -> Alte scripturi...”, se va deschide Explorer, după care trebuie să găsiți fișierul script și apoi să rulați scriptul
  2. Puteți pur și simplu să trageți scriptul în Illustrator din Explorer, după care scriptul va rula
  3. Puteți folosi extensii pentru a rula scripturi - acesta este un panou pentru Illustrator care vă permite să rulați scripturi direct din program. Există mai multe astfel de extensii. Recomand să folosiți LAScripts.

Armonizator

Script pentru aranjarea elementelor pe o grilă

Selectați obiectele, rulați scriptul, selectați numărul de coloane (rândurile vor fi calculate automat), selectați distanța dintre elemente, precum și centrarea acestora (în mod implicit, se ia cel mai mare element dintre cele selectate).

Planșe de desenRedimensionare cu obiecte

Script pentru a redimensiona o planșă de desen împreună cu conținutul acesteia.

ÎN Adobe Photoshop Există o funcție „Dimensiunea imaginii” pentru a schimba planul de lucru împreună cu conținutul, dar Adobe Illustrator nu are o astfel de funcție din cutie. Uneori, este necesar să se schimbe artboard-ul împreună cu conținutul, astfel încât după modificare toate stările să fie păstrate.

Să presupunem că decideți să schimbați planșa de artă manual, ordinea acțiunilor dvs.: Schimbați tabloul de desen, apoi selectați toate elementele de pe planșa și modificați dimensiunea, dar aici apare o problemă. Dacă aveți elemente cu contur, atunci când le schimbați manual, cursa nu va scădea odată cu dimensiunea obiectului, da, puteți ocoli această soluție bifând caseta de selectare „Scale strokes and effects”, dar ce se întâmplă dacă trebuie să schimbați dimensiunea mai multor panouri de artă? Pentru a simplifica și a economisi timp, utilizați scriptul artboardsResizeWithObjects.jsx


  • Noul factor de scară- scara graficului ca procent
  • Noua lățime a planșei de artă- lățimea nouă a tablei de artă, înălțimea se va modifica proporțional
  • Înălțime nouă pentru planșa de desen- noua inaltime a tablei de arta, latimea se va schimba proportional
  • Doar planșă activă- schimbați doar tabloul de desen activ
  • Toate planurile de artă- schimbați toate planurile de artă
  • Planșe personalizate- schimbați tablourile de artă arbitrare, puteți scrie fie separate prin virgulă, fie separate prin cratime (ca atunci când specificați paginile la imprimare)
  • Includeți articole ascunse și blocate- luați în considerare elementele blocate și ascunse
  • Câmp de intrare pentru dimensiune- implicit, este luată lățimea tabloului de desen activ.

Planșe de artăRotateWithObjects

Script pentru a roti tabloul de desen împreună cu conținutul.

În Adobe Photoshop, puteți roti tabloul de desen și conținutul va fi, de asemenea, rotit, dar în Adobe Illustrator nu există o astfel de funcție din cutie.

Acest script va fi util dacă trebuie să rotiți mai multe planșe de artă sau dacă nu doriți să pierdeți timp ajustând poziția față de planșa după rotirea acesteia.


Scurtă descriere a fiecărui element de script:

  • panou de desen activ #- rotiți numai tabloul de desen activ
  • Toate planurile de artă- rotiți toate planurile de artă
  • Unghi de rotație 90 CW- rotiți tabla de artă în sensul acelor de ceasornic
  • Unghi de rotație 90 CCW- rotiți tabla de artă în sens invers acelor de ceasornic

InlineSVGTtoAI

Script pentru a insera svg (și a converti codul svg) într-un document.

ÎN versiuni Adobe Illustrator CC 2018 v.22.1 (martie 2018), a adăugat posibilitatea de a insera un obiect svg; în acest caz, nu este nevoie să utilizați un script.

M-a enervat întotdeauna că nu poți introduce svg într-un program specializat în vectori. Adică, dacă am copiat codul svg dintr-un editor sau altundeva, dar sub formă de text, atunci nu vom putea lipiți-l în program. Mai întâi va trebui să salvați codul într-un fișier, abia apoi să deschideți fișierul în Illustraor, să copiați conținutul și să-l lipiți în documentul dorit. O mulțime de acțiuni inutile, nu-i așa?

Pentru a scăpa de această neînțelegere, am scris un script care va crea automat un fișier, va importa conținutul în documentul dvs. și apoi îl va șterge. Acestea. scenariul face totul la fel, dar fără participarea noastră și nu trebuie să pierdem timpul cu el.


Scurtă descriere a fiecărui element de script:

  • Este simplu - inserați conținutul în câmp și faceți clic pe „Lipiți”

PuzzleClipper


Script pentru crearea de puzzle-uri bazate pe obiecte.

Scriptul creează grupuri cu măști de tăiere, elementul care va fi „tăiat” este cel mai jos obiect dintre cele selectate. Moduri de funcționare, dacă aveți un grup deasupra și un obiect dedesubt, atunci toate elementele din grup vor fi convertite în grupuri cu o mască de tăiere și un obiect din partea de jos a celor selectate. Scriptul nu are interfață, doar selectați elementele de care aveți nevoie și rulați scriptul.


ReplaceItems

Un script pentru înlocuirea obiectelor cu cel original, obiecte dintr-un grup sau din clipboard.

De exemplu, trebuie să înlocuiți unele elemente pe aspect, dar este nevoie de mult timp pentru a le înlocui manual, puteți utiliza acest scenariu pentru a înlocui, doar selectați elementul de care aveți nevoie, copiați-l, apoi rulați scriptul, selectați „Object Buffer”.

De asemenea, scriptul poate roti aleatoriu fiecare dintre elemente, poate lua dimensiunile elementului înlocuit, poate lua umplerea și, de asemenea, nu puteți șterge elementul original.


Scurtă descriere a fiecărui element de script:

  • Obiect în buffer - obiectul este în clipboard
  • Obiect de sus - obiectul este primul din lista celor selectate
  • Toate în grup (aleatoriu) - un obiect este selectat aleatoriu din grup
  • Câmp de scară - scara elementului inserat
  • Înlocuiți articole dintr-un grup? - Elementele sunt înlocuite într-un grup? (dacă elementele care trebuie înlocuite sunt într-un grup, bifați această casetă, altfel va fi înlocuit întregul grup și nu fiecare element din grup)
  • Copiați lățimea și înălțimea - Copiați valorile lățimii și înălțimii din elementul înlocuit
  • Salvare element original - salvați (nu ștergeți) elementul înlocuit
  • Copiați culorile din element - copiați umplerea din elementul înlocuit
  • Element de rotație aleatorie - rotiți aleatoriu fiecare element

Creați planșe de artă din selecție

Script pentru crearea tablourilor de desen pe baza elementelor selectate.

Scriptul creează o planșă pe baza elementelor selectate, precum și pentru fiecare dintre cele selectate.


Scurtă descriere a fiecărui element de script:

  • Fiecare din selecție - creați o colecție de elemente selectate pentru fiecare
  • Numai limite de selecție - creați o panou de desen pe baza unei selecții.
  • Limitele elementului Vsible - marginile elementului „Vizibil”.
  • Limitele elementului Geometric - marginile elementului „geometric”

TransferSwatches

Script pentru importarea mostrelor de culoare (eșantioane) dintr-un document în documentul activ.

Rulați scriptul, selectați un document din listă și, de asemenea, puteți bifa caseta astfel încât culorile cu aceleași nume să fie înlocuite.


ArtboardItemsMoveToNewLayer

Un script care plasează conținutul unei planșe pe un nou strat.

Rulați scriptul, selectați tablourile de desen, puteți selecta, de asemenea, „eliminați straturile și substraturile goale” și „Numele stratului din numele planșei de grafică”.


Adobe Illustrator are multe instrumente și funcții, dar utilizatorului avansat îi va lipsi întotdeauna ceva. Prin urmare, dezvoltatorii creează scripturi și plugin-uri care vor ajuta la rezolvarea diferitelor probleme și la accelerarea proceselor care necesită forță de muncă. Astăzi am pregătit pentru tine o recenzie a celor mai bune scripturi gratuite pentru Illustrator. Lista lor este sistematizata si impartita in mai multe grupuri in functie de functionalitate. Aceasta înseamnă lucrul cu căi și puncte, Tipuri variate distribuția formelor, generarea de obiecte, lucrul cu panoul Straturi, obiecte text, culoare etc.

Instalarea și rularea scripturilor

Scriptul trebuie instalat în următoarele foldere:

Pentru Windows: C:\Program Files\Adobe\Adobe Illustrator CC 2014\Presets\en_GB\Scripts

Pentru Mac OS: Aplicații/Adobe\Adobe Illustrator CC 2014\Presets\en_GB\Scripts

Pentru a rula scriptul, accesați Fișier > Scripturi >...

De asemenea, puteți plasa scripturile în orice altă locație convenabilă de pe hard disk. În acest caz, pentru a rula scriptul, accesați Fișier > Scripturi > Alte scripturi... (Cmd/Ctrl + F12).

Dacă folosiți des scripturi, atunci îl veți găsi util pentru o lansare convenabilă. Acest plugin gratuit oferă acces la script-ul din panou, care poate fi întotdeauna plasat într-un loc convenabil.

Acum să aruncăm o privire la lista de scripturi, care sunt împărțite în funcție de funcționalitate:

Scripturi pentru lucrul cu căi, puncte și mânere

Acest script rotește mânerele punctelor de ancorare, schimbându-le lungimea în mod egal. După rularea scriptului, aveți opțiunea de a selecta unul dintre cele cinci tipuri de mâner, apoi de a seta opțiuni pentru lungimi și unghiuri.

Acest script creează flori din forme obișnuite. Excelent pentru a crea modele interesante, logo-uri etc.

Scriptul elimină punctele care se suprapun și raportează câte au fost eliminate.

Scriptul închide căile deschise în documentul curent. Nu conectează căi tangente.

Scriptul schimbă direcția căilor selectate în funcție de direcția segmentului superior. Adică, după aplicarea scriptului, toate căile selectate vor avea aceeași direcție.

Scriptul copiază obiectul cel mai de sus în pozițiile și dimensiunile altor obiecte. Este greu de descris, este mai ușor să te uiți la poza de mai jos.

Scripturi care distribuie obiecte

Scriptul umple formularul cu cercuri.

Scriptul plasează obiecte la distanțe egale de-a lungul căii selectate. Puteți redistribui obiectele care se află într-unul sau mai multe grupuri.

Scriptul dublează obiectul de sus și plasează copii în punctele selectate.

Scriptul rotește obiectele în centrul obiectului de sus.

Scriptul rotește toate obiectele în poziția obiectului de sus.

Scriptul face posibilă împărțirea zonei unui obiect vectorial în conformitate cu datele care pot fi prezentate în termeni absoluti sau procentuali.

Scriptul creează reflexie în oglindăîn conformitate cu tipul selectat din panou.

Scripturi care generează obiecte pe baza altor obiecte sau date

Scriptul conectează forme în stilul meta-ball (știți numele rusesc pentru acest formular? Eu nu).

Scriptul creează tangente comune (toate posibile) la obiectele selectate.

Scriptul creează ghidaje de la punctul selectat către segmentele curbe selectate.

Scriptul vă permite să generați un cod QR în Illustrator.

Cu acest script puteți crea automat o grilă de calendar în doar câteva clicuri. Suporta limbi: EN, RU, DE, UA.

Scripturi cu parametri aleatori

Scriptul alocă obiectele în ordine aleatorie în funcție de cantitatea specificată.

Scriptul RandomSwatchesFill pictează aleatoriu obiectele selectate în culorile selectate în paleta Swatches.

Scriptul RandOpacity modifică aleatoriu transparența obiectelor selectate în intervalul de la 0% la 100% din transparența inițială a obiectelor.

Scriptul modifică unghiul de gradient liniar al tuturor obiectelor selectate într-o ordine aleatorie.

Scriptul Ordine aleatorie vă permite să distribuiți obiecte într-o ordine aleatorie în panoul Straturi. Am folosit acest script când am scris

Scripturi pentru lucrul în panoul Straturi

Scriptul șterge toate straturile goale din documentul curent.

Aveți oportunitate unică extindeți funcționalitatea Adobe Illustrator. Nu este nimic mai ușor decât să folosești scripturi (fișiere script), trebuie doar să selectezi un obiect și să rulezi scriptul de care ai nevoie. Scripturile prezentate în acest articol vă vor economisi mult timp și vă vor face munca mai plăcută și mai eficientă. Crede-mă, merită atenția ta. Toate scripturile au fost testate în versiunile Illustrator CS3 și CS4.

Dacă sunteți în căutarea unor suplimente premium Illustrator, le puteți găsi în secțiunea Illustrator Actions and Scripts din GraphicRiver, cum ar fi: Isometric Guides Grid Action, Pattern Maker și Long Shadow Action (Acțiune pentru a crea o umbră lungă) .

Cele mai bune acțiuni (operații) și scripturi pentru Illustrator pe Graphic River.

În caz contrar, profitați de „bunătățile” gratuite despre care vă vom povesti acum. Dar mai întâi, să ne dăm seama cum să instalăm scripturi pentru Illustrator.

Instalarea Scripturilor

Este recomandabil să salvați întotdeauna scripturile pe care urmează să le utilizați în același loc, de exemplu în directorul Scripturi. Pentru a rula scriptul, trebuie să accesați Fișier > Scripturi > Alte scripturi (Comandă + F12) (Fișier > Scripturi > Alte scripturi).

Deschideți directorul cu scripturi și rulați fișierul dorit.

Acțiune