Lucrul cu biblioteca grafică php gd bibliotecă

Dacă sunteți un dezvoltator avid PHP, probabil că ați auzit nu numai despre biblioteca grafică GD. Pentru cei care nu știu, vă explic că biblioteca GD vă permite să creați imagini, să le modificați și să le gestionați fără prea mult efort. Astăzi, ne vom familiariza cu elementele de bază ale utilizării bibliotecii GD în biblioteca PHP.

Asigurați-vă că biblioteca GD este instalată și activată pe serverul dvs. Nu știu cum să fac asta? Nu vă faceți griji, totul este simplu! Trebuie doar să creați un fișier PHP pe server, apoi tastați următoarele:

Acum, deschideți pagina browserului și veți vedea o listă uriașă de caracteristici ale versiunii dvs. PHP. Derulați în jos un pic, găsiți secțiunea „GD“ și asigurați-vă că biblioteca este conectat. Dacă nu, contactați compania de găzduire. Din fericire, cele mai multe dintre serverele pe care le-am avut la locul de muncă și de muncă, biblioteca GD este instalat și conectat.

Să trecem prin câteva puncte de bază. În primul rând, ne vom asigura că toate rapoartele de eroare sunt emise de browser. Acest lucru se poate realiza prin introducerea următoarelor la începutul codului php:

Să începem cu cel mai simplu și să desenăm un pătrat albastru folosind PHP - nimic supranatural, desigur, dar trebuie să dai seama de elementele de bază. Pentru a obține pătratul dorit, trebuie să faceți următoarele:

• Setați tipul de conținut ca "imagine" astfel încât browserul să poată interpreta corect imaginea;
• Creați o imagine albă nouă prin setarea lățimii și înălțimii dorite;
• Faceți culoarea fundalului albastru;
• Salvați versiunea finală a imaginii și trimiteți-o la browser;
• Ștergeți memoria utilizată pentru a crea și stoca imaginea;
• Organizați un desen din fișierul index.php

Acum, să ne uităm la toate funcțiile utilizate și la fiecare pas al codului de mai sus pentru a înțelege mai bine ce facem exact în el:

• După cum am explicat deja, adăugăm o opțiune de mesaj de eroare, astfel încât, dacă este necesar, să le reparăm rapid
• Apoi folosim funcția header () pentru a seta tipul de conținut - png
• Salvați imaginea și setați lățimea și înălțimea dorită - pentru mai multe detalii, consultați imagecreate ()
• Apoi folosiți funcția de colorare a imaginii pentru a selecta culoarea albastră pentru fundalul desenului nostru. Rețineți că în versiunea finală setul de culori va fi vizibil în primul rând, astfel încât pătratul nostru va deveni albastru, nu roșu.
• Pentru salvarea finală, folosim imagepng (). Dacă doriți să salvați desenul într-un director, trebuie să introduceți parametri suplimentari.
• În sfârșit, vom curăța memoria cu funcția imagedestroy ()

Ne putem uita la pătratul pe care l-am desenat prin deschiderea fișierului blue_square.php și, chiar mai bine, dacă îl vom lega pe pagina principală:

Dacă totul a fost făcut corect, veți vedea aici un astfel de pătrat albastru:

Lucrul cu biblioteca grafică php gd bibliotecă

Acum, că am învățat cum să creăm imagini, să încercăm să facem o imagine cu textul scris de fontul pe care l-am selectat. Putem folosi orice font din directorul TrueType Font (.tff). În exemplele de mai jos voi folosi fontul "Advent". Să scriem "Hello World" pe un pătrat gri închis. Atenție, ne uităm la cod și apoi dezasamblam fiecare pas în detaliu.

Să salvăm codul în fișierul "hello_world.php" și să îl deschidem în același mod ca cel menționat mai sus. Deci, ce e nou aici?

• Am setat dimensiunea imaginii la 300 * 300 pixeli și am folosit un fundal gri închis
• Vă rugăm să rețineți, așa cum am arătat calea spre fontul folosind numele fontului: faptul că, mai târziu, în codul trebuie să aplicăm textul imaginii. De asemenea, nu uitați că numele fontului este scris fără o extensie. Cu toate acestea, acest lucru depinde de ce versiune a HG-bibliotecă folosește PHP: dacă numele fontului nu începe cu „/“, necesitatea de a extinde TET - adică, în cazul în care fonturile noastre înainte de numele fișierului nu este necesar /, la sfârșitul anului vor fi adăugate automat ttf .
• Apoi scrieți "Hello World!" Și salvați textul pentru o utilizare ulterioară
• Cea mai importantă caracteristică este utilizată în acest cod - l imagettftext (), necesită un 8 parametri: calea imaginii, dimensiunea imaginii, unghiul de înclinare, x, axa axa y, culoare, font, text (în această ordine)

Salvați codul, deschideți-l în orice mod și veți vedea această imagine:

Lucrul cu biblioteca grafică php gd bibliotecă

Ați observat că funcția imagettftext, care conectează textul și imaginea, are un parametru poziționat la un unghi de? Deci, putem transforma textul nostru din orice unghi. Să rescriem codul și să întoarcem linia de pe pătrat.

Rețineți că am setat valoarea la -45 grade în loc de 0 grade (ca în exemplul anterior) - asta e tot ce este necesar pentru a roti textul. Uită-te la imagine.

Lucrul cu biblioteca grafică php gd bibliotecă

Ei bine, cum? Interesat? Nu? Apoi, să încercăm să facem ceva mai practic.

Care este data de astăzi?

Putem nu numai să desenați imagini noi, ci și să le folosim pe cele gata! Un pic de codificare și vom primi un calendar care afișează data curentă (lună, zi și an). Căutăm Google pentru piesa de lucru pentru calendar, găsim imaginea în format .svg - am modificat dimensiunea și l-am convertit în formatul png. Uită-te la piesa de lucru:

Acum avem un cadru și îl putem procesa folosind funcțiile GD și PHP. Vă avertizez că nu mă prefac că sunt cel mai mare designer din lume - este posibil ca site-ul să arate mai bine cu o altă piesă de lucru și un alt font. Deci design-ul este al tău, dar acum să ne uităm la cod:

Deci, ce facem aici? Care este funcția listă ()? Să ne dăm seama:

• Ca întotdeauna, setăm tipul de conținut astfel încât imaginea să fie afișată corect.
• În linia 10, vedeți funcția listei de funcții. Definim formatul datei cu funcția explode () și stocăm-o. Astfel, puteți organiza orice informație. Acum avem acces la informații despre luna curentă, ziua și anul curent.
• În liniile 22-24, folosim funcția imagettfbbox () pentru a organiza formatul datei. Funcția oferă afișarea datei în ordinea specificată și pentru a accesa colțul din dreapta jos scrieți $ pos_month. Toate acestea sunt necesare pentru ca textul să fie poziționat automat în mod corect, indiferent de mărimea acestuia.
• Apoi, creăm fiecare rând pe rând și setăm dimensiunea textului de-a lungul axei X.

În cazul în care nu au existat accidente, ar trebui să obțineți o idee mai jos imaginea, cu singura diferență fiind că data va fi cel care este instalat pe computer - poza mea, după cum puteți ghici, este static. Vă mulțumim pentru ajutor cu scriptul catpin.

Pisicile și filtrele de imagine

Ultimul lucru pe care te-am învățat astăzi este filtrele de imagine - un lucru foarte interesant, crede-mă. Funcția imagefilter () ia imaginea finită și o modifică într-un anumit mod - de exemplu, se traduce în modul alb-negru. Să ne uităm la imaginea din care vom lucra, în forma sa originală.

Lucrul cu biblioteca grafică php gd bibliotecă

Și acum face pisica alb-negru cu funcția de filtrare a imaginii.

Scriptul de mai sus este suficient de flexibil pentru a putea face cu ușurință orice desen în alb și negru - cum ar fi:

Puneți în "sursa" orice imagine și în curând va deveni alb-negru. Cei care intenționează să utilizeze această funcție pe servere publice vor avea nevoie de măsuri de securitate suplimentare. Deși scriptul de mai sus prezintă o imagine de tip .jpeg, puteți aplica funcția pentru a gestiona orice fișiere imagine. Acum, pisica noastra arata astfel:

Lucrul cu biblioteca grafică php gd bibliotecă

La sfârșitul lecției vă voi prezenta câteva filtre grafice și rezultatele aplicării lor

Al treilea parametru este responsabil pentru luminozitatea imaginii:

Lucrul cu biblioteca grafică php gd bibliotecă

Gaussian blur, fără parametri suplimentari

Lucrul cu biblioteca grafică php gd bibliotecă

Al treilea parametru determină contrastul

Lucrul cu biblioteca grafică php gd bibliotecă

Eliminarea efectului mediu (efect de imagine)

Nu există parametri suplimentari.

Lucrul cu biblioteca grafică php gd bibliotecă

Setează saturația roșu, verde, albastru și, de asemenea, canalul alfa (dacă se dorește) în ordinea listată

Lucrul cu biblioteca grafică php gd bibliotecă

Până data viitoare.

Ultimele 5 lecții din rubrica "PHP"

Când vine vorba de securitatea site-ul web, expresia „Filter toate, totul scăpa“ vor fi întotdeauna relevante. Astăzi, să vorbim despre filtrarea datelor.

  • Expressive 2 acceptă posibilitatea conectării altor componente ZF pe un circuit special. Nu toată lumea îi place această decizie. În acest articol, vom descrie modul de îmbunătățire a procesului de conectare a mai multor module.

  • Să presupunem că trebuie să trimiteți câteva informații în Google Analytics din scriptul de pe server. Cum se face. Răspunsul este în această notă.

  • O selecție de mai multe tipuri de nisip PHP. Pe unele veți putea să vă puneți codul online, dar există și soluții pe care le puteți implementa pe site-ul dvs.

  • riddickfmi
  • Motorchiknp

    totul este rău! Se pare că nu curvoruky, dar imaginea cu "salut lume" și mai mult nu funcționează: (Nu înțeleg ce este problema: (codul copiat unul la altul există o eroare acolo?

  • Motorchiknp

    Ne pare rău, a câștigat! Nu a fost încă adăugat fontul în dosar nu a funcționat!

  • Lucrul cu biblioteca grafică php gd bibliotecă

    Prin obținerea de informații imediat prin două canale (vedere și auz), eficiența predării este mult mai mare decât învățarea din cărți. Și temele și testele online vă vor permite să gândiți în mod constant în limba pe care o învățați și să vă verificați imediat cunoștințele!

    Lucrul cu biblioteca grafică php gd bibliotecă

    Lucrul cu biblioteca grafică php gd bibliotecă

    Dacă doriți să învățați HTML mult timp, atunci am o veste bună pentru dvs.!

    Lucrul cu biblioteca grafică php gd bibliotecă

    Dacă ați învățat deja HTML și doriți să treceți mai departe, următorul pas este să învățați tehnologia CSS.

    Lucrul cu biblioteca grafică php gd bibliotecă

    Dacă doriți să înțeleagă conceptele de domeniu si hosting, învață cum să creeze o bază de date, încărca fișiere pe un site web prin intermediul unui server FTP, crea subdomenii, configurați cutiile poștale pentru site-ul și să monitorizeze participarea, acest curs este conceput special pentru tine!

    Articole similare