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
Ce atribut e folosit in tag-ul <a> pentru adresa link-ului?
src href rel
<a href="http://coursesweb.net/" title="CoursesWeb.net">CoursesWeb.net</a>
Ce proprietate CSS seteaza tipul fontului utilizat?
font-family text-decoration font-size
h2 {
  font-family:"Calibri", sans-serif;
}
Ce instructiune selecteaza toate tag-urile <div> cu class="cls"?
querySelector("div.cls") getElementsByTagName("div") querySelectorAll("div.cls")
var elm_list = document.querySelectorAll("div.cls");
var nr_elms = elm_list.length;       // numar elemente selectate
alert(nr_elms);
Indicati functia care returneaza suma valorilor dintr-un array.
array_sum() array_diff() array_shift()
$arr =[1, 2, 3, 4);
$arr_sum = array_sum($arr);
echo $arr_sum;       // 10
Indicati forma corecta a verbului "study" (a studia) la Trecutul Simplu in aceasta propozitie: "We (study) English."
studyed studys studied
We studied English.
- Noi am studiat engleza.
Indicati forma corecta a verbului "decir" (a spune) la Prezent in aceasta propozitie: "Yo (decir) siempre la verdad."
digas digo decir
Yo digo siempre la verdad.
- Eu spun mereu adevarul.
Functii utile pentru lucrul cu imagini

Last accessed pages

  1. Instructiuni conditionale if, else, switch (9012)
  2. Lectii audio-video de limba engleza (11201)
  3. Formatare text in pagina html (15571)
  4. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (80821)
  5. Curs si Tutoriale Ajax (10780)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (7576)
  2. Curs HTML gratuit Tutoriale HTML5 (6264)
  3. Curs si Tutoriale JavaScript (5496)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (5381)
  5. Curs CSS Online Tutoriale CSS3 (5223)