Imagine cu filigrane - așa cum o fac, wns

Toate SEOShniki știu că impunerea de filigrane pe imagini este bună. Utilizatorii transmit de multe ori imagini "de la mână în mână", de exemplu, cu scopul "Uite, ce rhach!" Sau "Așa se răcește procesorul pe care l-am cumpărat!".

Un exemplu de filigran este această imagine (notați colțul din dreapta jos).

Acest proces poate fi automatizat prin înșurubarea suprapunerii automate a filigranului pe imagine chiar în momentul încărcării. Și vă voi arăta cum.

Nu voi intra în biblioteca în sine. Voi da codul imediat și apoi voi explica ce face.

Biblioteca GD2 face viața foarte ușoară pentru programator atunci când trebuie să lucrați cu grafică. Acum veți înțelege de ce.

În directorul cu scriptul ar trebui să existe încă două fișiere - foto.jpg (aceasta este imaginea de care aveți nevoie pentru a aplica un filigran la) și znak.png (acesta este semnul în sine). Dacă doriți să suprapuneți, de exemplu, doar o inscripție (fără fundal), atunci faceți fundalul (tot ceea ce nu este semnul în sine) transparent (de aceea sa ales formatul png).

Ei bine, atunci. Mai intai primim dimensiunile imaginilor noastre. Chiar și fișierul nu trebuie să fie deschis! Funcția getimagesize este potrivită pentru aceasta, acceptă numele fișierului. Dimensiunile rezultate sunt scrise într-o matrice, unde lățimea celulei zero și înălțimea din prima celulă (desigur, în recipiente).

După obținerea dimensiunilor, trebuie să creați imaginile din memoria interpretului pentru a putea lucra cu acesta (atunci imaginea prelucrată este scrisă în fișier). Pentru aceasta, avem nevoie aici două funcții imagecreatefrompng (citeste formatul png) și imagecreatefromjpeg (citește formatul jpg, respectiv). Returnează descriptorul de imagine ("resursă", așa cum este obișnuit să îl apelezi în PHP).

Coordonatele locației imaginii copiate sunt coordonatele colțului din stânga sus al imaginii copiate din fotografie. Aici, din mărimea fotografiei, luăm amploarea semnalului și se pare că imaginea este copiată în colț.

Dimensiunile imaginii copiate rămân originale - de la colțul din stânga sus la cel din dreapta-jos.

Următorul pas este să creați imaginea rezultată. Îl creăm cu funcția imagejpeg, care, în consecință, creează o imagine în format jpg.

Eliminăm descriptorii, astfel încât să nu frământăm memoria folosind funcțiile imagedestroy. Ei nu șterg fișierul în sine, nu vă faceți griji.

Totul, imaginea noastră este gata. Integrarea unei astfel de procesări este foarte simplă. Este necesar la etapa de încărcare a fișierului, procesați imaginea temporară (filename_tmp) și apoi copiați-o deja în directorul destinație.

și scrieți aici acest cod în loc de acesta:

Desigur, înainte de header () nu ar trebui să existe nici o ieșire la browser, altfel antetul nu va fi trimis.

Articole similare