Login / Register     Schimba Tema
     Share this page on FB
  1.  Harta 
  2.  Contact 
  3.  Forum 
  4.  xHtml 
  5.  Css 
  6.  JavaScript 
  7.  Php 
Scripturi PHP | Director Web

Tutoriale Web
Tutoriale CAD
Tutoriale Diverse
Entertainment


Php - MySql
Tutorial PHP

Creare imagini

Cu ajutorul php se pot crea imagini in diferite formate (GIF, PNG, JPEG, WBMP, XBM, XPM). Pentru a putea face acest lucru, trebuie sa aveti instalata libraria GD ce contine diferite functii pentru lucrul cu imagini.
Daca folositi programul WampServer, acesta are deja instalata libraria GD. Pentru a o activa apasati pe iconita programului, mergeti la PHP settings, PHP extensions si bifati php_gd sau php_gd2.
Pentru a vedea daca este activata libraria GD, apelati functia "gd_info()". Aceasta returneaza o matrice ce contine diferite informatii despre libraria GD.

Crearea imaginilor
Pentru a crea o imagine trebuie sa indeplinim urmatorii pasi:
- Stabilirea suprafetei imaginii (latime, inaltime)
- Stabilirea culorii de fundal sau a textului din imagine
- Trimiterea datelor de iesire ale imaginii create
- Eliberarea memoriei folosite pentru crearea imaginii

In urmatorul exemplu este prezentat modul de crearea a imaginii cu ajutorul php
<?php
$text = 'Un text oarecare';

// setare dimensiuni suprafetei de baza
$height = 40;
$width = 150;
// stabilirea suprafetei
$img = imagecreate($width, $height);

// setare culori
$fundal = imagecolorallocate($img, 244, 164, 96);
$textcolor = imagecolorallocate($img, 240, 230, 140);

// finalizarea imaginii
imagefill($img, 0, 0, $fundal);
imagestring($img, 5, 5, 10, $text, $textcolor);

// trimiterea datelor de iesire
header('Content-type: image/png');
imagepng($img);

// eliberarea memoriei
imagedestroy($img);
?>
Acest cod va afisa

Primul lucru pe care l-am definit a fost variabila "$text", ce contine textul din imagine. Apoi am definit inaltimea si latimea imaginii pe care am creat-o ulterior cu functia "imagecreate()".
Culorile fundalului si textului sunt date in format RGB (Red Green Blue). Am setat apoi in imagine fundalul acesteia cu functia "imagefill()" si textul cu functia "imagestring()".
Ultimele oparatii care raman de facut sunt sa trimitem datele de iesire si sa curatam memoria folosita pentru crearea imaginii.

In locul functiei "imagecreate()" se pot folosi si functiile "imagecreatefrompng('nume.png')", imagecreatefromjpeg('nume.jpg') sau "imagecreatefromgif('nume.gif')", in functie de extensia imaginii. Aceste functii preiau o imagine deja creata in loc sa creeze una noua.

Functia "imagefill()" stabileste fundalul imaginii si pozitia de udne sa inceapa (coordonate x, y).
Functia "imagestring()" seteaza textul in imagine. Al doilea argument al functiei stabileste mariema fontului textului, are poate fi de la 1 la 5. Al doilea si al treilea argument stabileste pozitia de unde sa inceapa textul in coordonate x si y.

Acest script nu salveaza imaginea pe server, ci doar o afiseaza. Deoarece un hearder poate fi trimis numai o singura data, nu putem crea mai multe imagini, asa ca le vom salva pe server, dupa care ulterior le vom introduce in pagina cu tagul <img>.


Exemplu
<?php
$text = 'Un text oarecare';

// setare dimensiuni
$height = 50;
$width = 170;
$img = imagecreate($width, $height);

// setare culori
$fundal = imagecolorallocate($img, 135, 206, 250);
$textcolor = imagecolorallocate($img, 0, 0, 139);

// finalizarea imaginii
imagestring($img, 5, 10, 15, $text, $textcolor);

// salvarea imaginii pe server
imagepng($img, 'imagine.png');

// curatarea memoriei
imagedestroy($img);
?>

<img src="php/imagine.png" />
Acest cod va afisa

Functia imageline()
Aceasta functie creaza o linie in imaginea respective. Sintaxa acestei functii este:

imageline("id_img", "x1", "y1", "x2", "y2", "id_culoare")

Unde "id_img" reprezinta functia "imagecreate()" iar id_culoare reprezinta functia "imagecolorallocate()".
"x1, y1" reprezinta coordonatele de start ale liniei iar "x1, y2" reprezinta coordonatele de finale ale liniei.
Coordonatele se stabilesc pornind din coltul din stanga sus ce are coordonatele (0, 0).


Exemplu
<?php
$text = 'Un text oarecare';

// setare dimensiuni
$height = 50;
$width = 170;
$img = imagecreate($width, $height);

// setare culori
$fundal = imagecolorallocate($img, 135, 206, 250);
$textcolor = imagecolorallocate($img, 0, 0, 139);
$linecolor = imagecolorallocate($img, 165, 42, 42);

// finalizarea imaginii
imagestring($img, 5, 10, 15, $text, $textcolor);
imageline($img, 20, 33, 150, 33, $linecolor); // prima linie
imageline($img, 20, 13, 150, 13, $linecolor); // a doua linie

// salvarea imaginii pe server
imagepng($img, 'imag.png');

// curatarea memoriei
imagedestroy($img);
?>

<img src="php/imag.png" />
Acest cod va afisa

Functia imagearc()
Cu ajutorul acestei functii se pot crea arce de cerc cu anumite proprietati. Functia are urmatoarea sintaxa:

imagearc("id_img", "x1", "y1", "latime", "inaltime", "start", "sfarsit", "id_culoare")

Unde "x1, y1" reprezinta coordonatele centrului arcului de cerc, "latime" respectiv "inaltime" reprezinta latimea si inaltimea arcului de cerc iar " start" si "sfarsit" reprezinta unghiul de start respectiv de sfarsit al arcului. Punctul situat la 0 grade se afla paralel cu axa OX iar masurarea se face in sensul acelor de ceasornic.


Exemplu
<?php
$text = 'Un text oarecare';

// setare dimensiuni
$height = 100;
$width = 100;
$img = imagecreate($width, $height);

// setare culori
$fundal = imagecolorallocate($img, 255, 222, 173);
$cerccolor = imagecolorallocate($img, 0, 0, 0);
$arccolor = imagecolorallocate($img, 0, 0, 0);

// finalizarea imaginii
imagearc($img, 30, 25, 20, 20, 0, 360, $cerccolor); // contur primul ochi
imagearc($img, 70, 25, 20, 20, 0, 360, $cerccolor); // contur al doilea ochi
imagearc($img, 50, 44, 70, 70, 25, 150, $arccolor); // centru primul ochi
imagearc($img, 30, 25, 3, 3, 0, 360, $cerccolor); // centru al doiela ochi
imagearc($img, 70, 25, 3, 3, 0, 360, $cerccolor); // gura
imagearc($img, 48, 37, 30, 30, -25, 90, $arccolor); // nasul

// salvarea imaginii pe server
imagepng($img, 'imagi.png');

// curatarea memoriei
imagedestroy($img);
?>

<img src="php/imagi.png" />
Acest cod va afisa

Daca sunteti inventivi puteti crea o multime de aplicatii folosind imagini, cum ar fi grafice, tabele ale caror date se preiau din formulare, harti de imagini ca atunci cand dati click pe o anumita regiune sa fiti directionati catre o anume pagina si multe altele.
Pentru mai multe functii in lucrul cu imagini accesati


<< Anterior ------- Urmator >>
limbajul tau preferat

 PHP
 JavaScript
 xHtml
 CSS



CopyRight Protected © 2014 Proiecte CAD
   X      Noutati
     A aparut tutorialul de modelare 3D in Catia v5 pe care il gasiti aici

     Au aparut noile teme pentru site. Le gasiti urmand link-ul de sub logo-ul site-ului sau dand click aici.

     Vrei sa adaugi robotel cu reclame in forumul tau?! Afla aici cum poti face acest lucru.