Curs Php-mysql


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 tip de <input> creaza o paleta de culori pentru selectare culoare?
type="text" type="color" type="date"
<input type="color" name="get_color" />
Care metoda CSS roteste elementul HTML la un anumit numar de grade?
scale() translate() rotate()
#some_id:hover {
  transform: rotate(60deg);
  -ms-transform: rotate(60deg);    /* IE 9 */
  -moz-transform: rotate(60deg);   /* Firefox */
}
Click pe functia care returneaza numarul cel mai mare.
pow() min() max()
var maxn = Math.max(8, 4, 88, 56);
alert(maxn);      // 88
Ce functie previne ca un fisier sa fie inclus mai mult de o data intr-o pagina?
include() include_once() require()
include_once("un_fisier.php");
Care este traducerea corecta pentru: "Ahead of time"?
Peste timp La timp Inainte de vreme
Most people arrived ahead of time.
- Cei mai multi oameni au sosit inainte de vreme (prea devreme).
Indicati traducerea corecta a cuvantului "buenĂ­simo"
mai bun mai putin bun extrem de bun
Este fruto es buenĂ­simo.
- Acest fruct este extrem /nemaipomenit de bun.
Functii utile pentru lucrul cu imagini

Last accessed pages

  1. Prezentul simplu - Exercitii si teste incepatori (70654)
  2. Definire si Utilizare Clase in JavaScript (2089)
  3. Cursuri Franceza, Germana, Italiana si Rusa (8299)
  4. Cursuri Limba Italiana (7127)
  5. Curs HTML gratuit Tutoriale HTML5 (198021)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (182)
  2. Coduri pt culori (94)
  3. Gramatica limbii engleze - Prezentare Generala (92)
  4. Gramatica limbii spaniole. Indrumator si prezentare generala (79)
  5. Cursuri limba engleza gratuite si lectii online (73)