Generarea de imagini cu text în PHP - Blog Victor Zinchenko

Generarea de imagine text - una dintre problemele întâlnite frecvent de către programatori web. In acest tutorial voi vorbi despre cât de ușor este de a genera imagini cu text folosind PHP.

Ca rezultat, vom obține următoarele:

Generarea de imagini cu text în PHP - Blog Victor Zinchenko

Să începem. În această lucrare vom folosi plus mea LImageHandler la clasa ImageHandler. creat Yaroslav Pelesh.

componenta ImageHandler este foarte simplu și puteți pune în aplicare astfel de caracteristici:

  • Redimensionarea imaginii (redimensionare)
  • Crearea unui miniatură (degetul mare)
  • filigran Suprapunere (filigran)
  • Reflectarea verticală și orizontală (clapa)
  • Flipping (rotire)
  • Crop (cultură)
  • Suprapunere text
  • Modificarea dimensiunii de panza (redimensiona panza)
  • Reducerea la tonuri de gri (grayscale)
  • afișare a imaginii (pentru a genera "on the fly")

Să-l examinăm mai în detaliu.

Suprapunere text se face prin apelarea textului (). Se poate lua următorii parametri:

  • Text - textul care urmează să fie aplicată imaginii
  • fișierul de font - calea către fontul textului
  • dimensiunea - dimensiunea fontului în pixeli
  • Culoare - matrice pentru a seta culoarea textului. Cifrele acestea 225255255 corespund culorilor din paleta RGB (roșu verde albastru). De exemplu, combinația dă 255,0,0 roșu și 0,255,0 - verde.
    corner - poziționare text. Puteți lua următoarele valori:
  • const CORNER_LEFT_TOP = 1;
  • const CORNER_RIGHT_TOP = 2;
  • CORNER_LEFT_BOTTOM const = 3;
  • CORNER_RIGHT_BOTTOM const = 4;
  • CORNER_CENTER const = 5;
  • const CORNER_CENTER_TOP = 6;
  • CORNER_CENTER_BOTTOM const = 7;
  • CORNER_LEFT_CENTER const = 8;
  • CORNER_RIGHT_CENTER const = 9;
  • Text de deplasare pe orizontală (axa X) - offsetX
  • offsetY = textul deplasare pe verticală (axa Y)
  • Unghiul - unghiul de rotație al textului. De la 0 la 360 de grade
  • alfa - transparența textului. 0 - transparent, 100 - complet transparentă
  • Show () metoda este chemat pentru a afișa imaginea fără ao salva. Această abordare este numită uneori generarea de imagini „on the fly“.

    Aici este un exemplu de imagine generată de aplicarea zilelor cu această abordare:

    Generarea de imagini cu text în PHP - Blog Victor Zinchenko

    În această metodă are un dezavantaj. Dacă faci lumină de culoare litere și lumină din imagine este folosită ca imaginea originală, este probabil ca textul este dificil de citit. Ca și în această imagine:

    Generarea de imagini cu text în PHP - Blog Victor Zinchenko

    Am rezolva această problemă prin adăugarea unui substrat pentru text.