In aceasta lectie sunt prezentate, cu exemple, cateva functii utile pentru lucrul cu imagini generate de PHP.

1. Functia imageline()

- Aceasta functie deseneaza o linie in cadrul imaginii, sintaxa generala este urmatoarea:

Unde Iata un exemplu:
<?php
// setare dimensiuni
$height = 40;
$width = 170;
// definirea cadrului de baza a imaginii
$im = imagecreate($width, $height);

// setare culori
$fundal = imagecolorallocate($im, 10, 10, 250);
$line_color = imagecolorallocate($im, 200, 220, 8);

// crearea imaginii
imagefill($im, 0, 0, $fundal);
imageline($im, 50, 10, 120, 10, $line_color);     // prima linie
imageline($im, 40, 20, 130, 20, $line_color);     // a doua linie

// trimiterea datelor de iesire
header('Content-type: image/jpeg');
imagejpeg($im);

// curatarea memoriei
imagedestroy($im);
?>
- Comentariile necesare sunt deja in codul scriptului.
- Functia "imageline()", folosita de 2 ori, va crea doua linii dupa coordonatele dintre paranteze.
- Rezultatul accestui script este imaginea de mai jos
Imagine creata cu PHP

2. Functia imagearc()

- Aceasta functie deseneaza un arc de cerc centrat pe anumite coordonate date. Sintaxa generala este urmatoarea:

Unde Iata un exemplu:
<?php
// setare dimensiuni
$height = 100;
$width = 100;
// definirea imaginii
$im = imagecreate($width, $height);

// setare culori
$fundal = imagecolorallocate($im, 10, 10, 250);
$cerc_color = imagecolorallocate($im, 220, 220, 8);
$arc_color = imagecolorallocate($im, 250, 2, 2);


// crearea imaginii
imagefill($im, 0, 0, $fundal);
imagearc($im, 30, 25, 20, 20, 0, 360, $cerc_color);     // primul cerc
imagearc($im, 70, 25, 20, 20, 0, 360, $cerc_color);     // al doilea cerc
imagearc($im, 50, 44, 70, 70, 25, 150, $arc_color);     // ultimul arc de cerc

// trimiterea datelor de iesire
header('Content-type: image/jpeg');
imagejpeg($im);

// curatarea memoriei
imagedestroy($im);
?>
- Comentariile necesare sunt deja in codul scriptului.
- Functia "imagearc()", folosita de 3 ori, va crea arce de cerc dupa coordonatele dintre paranteze. (Testati singuri scriptul, modificand valorile argumentelor)
- Rezultatul accestui script este imaginea de mai jos
Imagine creata cu PHP
- Observati ca pot fi create cercuri complete sau arce de cerc, in functie de valoarea in grade a argumentului sapte ("end").
- Pentru a desena un arc de cerc (sau cerc) cu suprafata colorata, nu doar linia de margine, folositi functia "imagefilledarc()".

3. Functia getimagesize()

- Aceasta functie returneaza o matrice cu mai multe elemente ce contin date despre tipul si dimensiunile imagini.
Mai importante sunt primele 2 elemente din matrice (index 0 si 1) care reprezinta lungimea, respectiv inaltimea imaginii; si al patrulea element (index 3) care este un sir cu dimensiunile imaginii.

Iata un exemplu:
<?php
$img = 'imagini/image.png';     // calea catre fisierul cu imaginea
$size = getimagesize($img);
echo "$size[0] - $size[1] <br /> $size[3]";
?>
- "getimagesize()" preia ca argument imaginea si stocheaza datele (matricea) in variabila "$size".
- acest script va afisa un rezultat similar cu cel de mai jos (depinde de imaginea folosita)
270 - 100
width="270" height="100"

4. Functia imagecopy()

- Aceasta functie copie o portiune dintr-o imagine data. Sintaxa generala este urmatoarea:

Unde Iata un exemplu:
<?php
// preluarea imaginii sursa
$im1 = imagecreatefrompng('imgs/marplo.png');

// definirea identificatorului si a cadrului pt. imaginea 2
// care va rezulta cu suprafata copiata
$im2 = imagecreatetruecolor(170, 50);

// Copierea suprafetei
imagecopy($im2, $im1, 10, 0, 30, 10, 170, 50);

// datele de iesire
header('Content-Type: image/png');
imagepng($im2);

// eliberarea memoriei
imagedestroy($im2);
imagedestroy($im1);
?>
- "imagecopy()" va copia o suprafata din prima imagine, reprezentata prin "$im1" si o va incadra in cea dea doua imagine, reprezentata prin "$im2" (conform coordonatelor date).
- Acest script va returna urmatorul rezultat:
Imagine creata cu PHP

5. Functia imagecopyresized()

- Aceasta functie copie si redimensioneaza o portiune dintr-o imagine data. Sintaxa generala este urmatoarea:

Unde Iata un exemplu:
<?php
// preluarea imaginii sursa
$im1 = imagecreatefrompng('imgs/marplo.png');

// definirea identificatorului si a cadrului pt. imaginea 2
// care va rezulta cu suprafata copiata si redimensionata
$im2 = imagecreatetruecolor(80, 20);

// Copierea si redimensionarea suprafetei
imagecopyresized($im2, $im1, 0, 0, 10, 10, 80, 20, 170, 50);

// datele de iesire
header('Content-Type: image/png');
imagepng($im2);

// eliberarea memoriei
imagedestroy($im2);
imagedestroy($im1);
?>
- "imagecopyresized()" va copia o suprafata din prima imagine =, reprezentata prin "$im1" si o va redimensiona si incadra in cea dea doua imagine, reprezentata prin "$im2" (conform coordonatelor date).
- Acest script va returna urmatorul rezultat:
Imagine creata cu PHP
- Pentru copierea si redimensionarea imaginii cu "resambling", puteti folosi functia imagecopyresampled().

O lista completa cu functiile care pot fi folosite pentru lucrul cu imagini in PHP gasiti aici Functii pentru imagini

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag se foloseste in <table> pentru a crea celula de tip "header"?
<thead> <th> <td>
<table><tr>
  <th>Title 1</th>
  <th>Title 2</th>
</tr></table>
Ce proprietate CSS seteaza distanta dintre randuri?
line-height word-spacing margin
.some_class {
  line-height: 150%;
}
Care functie deschide o noua fereastra.
alert() confirm() open()
document.getElementById("id_button").onclick = function(){
  window.open("http://coursesweb.net/");
}
Indicati functia PHP care returneaza un array cu numele fisierelor si directoarelor dintr-un director.
mkdir() scandir() readdir()
$ar_dir = scandir("dir_name");
var_export($ar_dir);
Care din urmatoarele forme a verbului "sleep" (a dormi) se foloseste pentru viitor?
sleeping slept will sleep
He will sleep there.
- El va dormi acolo.
Care din urmatoarele forme a verbului "dormir" (a dormi) se foloseste pentru viitor?
dormido dormirá durmiendo
Él dormirá allí.
- El va dormi acolo.
Functii utile pentru lucrul cu imagini

Last accessed pages

  1. Conditional IF in Limba Engleza - Fraze Conditionale (986)
  2. Zilele saptamanii - Lunile anului - Anotimpurile - Engleza (432)
  3. Bubbles3 (3487)
  4. Formate text (458)
  5. Substantive - Exercitii si teste engleza incepatori (401)

Popular pages this month

  1. Bubbles3 (3487)
  2. Gramatica limbii engleze - Prezentare Generala (2797)
  3. Prezentul simplu si continuu - Present Tense Simple and Continuous (2526)
  4. Butterfly Kyodai (2203)
  5. Zuma Deluxe (2083)