Joomla 2.5 are o clasă nouă pentru procesarea imaginilor JImage. Cu această clasă, putem efectua diverse manipulări cu imagini, cum ar fi: redimensionarea, suprapunerea diferitelor efecte etc. precum și puteți obține informații despre imagine!
Să încercăm să analizăm în detaliu această clasă și metodele care sunt în ea!
Ca o imagine inițială, voi folosi aceasta:
Pentru a folosi această clasă și a încărca imaginea în ea, trebuie să scrieți următorul cod:
Imaginea poate fi descărcată și în alt mod:
Dacă vrem să obținem lățimea sau înălțimea imaginii, atunci există două metode pentru aceasta:
Pentru a obține calea absolută prin care se află imaginea, trebuie să utilizați metoda getPath ():
Pentru a reduce dimensiunea imaginii, există o metodă de redimensionare ($ lățime, $ înălțime, $ createNew, $ scaleMethod);
Există patru parametri în această funcție:
$ width - noua lățime a imaginii
$ height - înălțimea imaginii noi
$ createNew - dacă acest parametru este setat la true, metoda ne va întoarce o nouă instanță a clasei JImage, care va conține imaginea descărcată cu toate modificările făcute anterior
$ scaleMethod - metoda scalării imaginii
Există trei opțiuni pentru scalarea unei imagini. Mai jos este un tabel cu metodele de scalare și rezultatul lucrului acestor metode:
Montați rigid dimensiunea specificată
JImage :: SCALE_INSIDE
(Valoare implicită)
Înălțimea va fi redusă la înălțimea specificată, lățimea va fi redusă sau mărită proporțional
Lățimea va fi redusă la valoarea specificată, înălțimea va fi redusă sau mărită proporțional
Pentru a salva imaginea după manipularea acesteia, JImage are o metodă numită toFile ($ path, $ type, $ options);
$ path - calea de salvare a fișierului
Tipul $ este tipul de fișier când se salvează. Există trei tipuri de salvare a fișierelor:
- IMAGETYPE_GIF fișier GIF
- IMAGETYPE_PNG Fișier PNG
- Fișier JPEG IMAGETYPE_JPEG (aceasta este setarea implicită)
$ opțiuni - opțiuni! în momentul în care este posibil să se utilizeze doar un parametru $ options ['quality'] care stabilește calitatea imaginii pentru fișiere jpg și png!
Pentru a roti la un anumit unghi al imaginii, există o metodă de redimensionare ($ unghi, $ background, $ createNew);
unghiul de unghi de rotație
$ background - fundalul umplerii spațiului care rămâne după rotire (implicit la alb)
$ createNew - dacă acest parametru este setat la true, metoda va returna o nouă instanță a clasei
După executarea codului de mai sus, rezultatul este o imagine nouă:
Pentru a obține o parte din imagine există o metodă de recoltare ($ lățime, $ înălțime, $ stânga, $ top, $ createNew);
$ lățime lățime
$ height - height
$ offset stânga-stânga
$ top - offset la dreapta
$ createNew - dacă acest parametru este setat la true, metoda va returna o nouă instanță a clasei
După executarea codului de mai sus, rezultatul este o imagine nouă:
Lucrul cu filtre:
Pentru a lucra cu filtre, există un filtru de funcții ($ type, $ options);
$ type - tip de filtru
Opțiuni $ - opțiuni de filtrare
Din anumite motive, nu am reusit sa conectez filtrele in altclude, adica jimport jimport ('joomla.image.filters'); nu a ajutat, și un bug a fost afișat în mod constant despre faptul că filtrul nu a fost găsit!
Prin urmare, am avut de a conecta direct filtre prin include