PHP/Programmazione/Immagini: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ramac (discussione | contributi)
Ramac (discussione | contributi)
disegno
Riga 14:
== Creare una nuova immagine ==
Per la creazione di una nuova immagine PHP mette a disposizione diverse funzioni. Per creare un'immagine ex-novo usiamo la funzione:
<source lang=php>imagecreatetruecolor(h, w)</source>
che crea in memoria una nuova immagine di altezza <code>h</code> e larghezza <code>w</code> (in pixel) e restituisce un riferimento all'immagine appena creata.
 
Per caricare in memoria un'immagine salvata su disco usiamo invece le funzioni
<source lang=php>imagecreatefrom''<tipo''> (percorso)</source>
che carica un'immagine salvata sul server del tipo specificato. Ad esempio:
$img = imagecreatefrompng('immagine.png');
 
Esiste inoltre una funzione
<source lang=php>imagecreatefromstring (testo)</source>
che crea un'immagine contenente il testo specificato come argomento
 
Riga 30:
== Lavorare con i colori ==
Per allocare un colore si usa la funzione
<source lang=php>imagecolorallocate(r,g,b)</source>
che restituisce un riferimento al colore date le sue componenti [[w:RGB|RGB]].
 
&Egrave; possibile, se si sta lavorando con formati come il PNG (che supporta la trasparenza), allocare colori con una determinata trasparenza, compresa tra 0 (opaco) e 127 (completamente trasparente) con la funzione
<source lang=php>imagecolorallocatealpha(r,g,b,trasparenza)</source>
Si noti che il primo colore allocato verrà automaticamente usato come colore di sfondo dell'immagine.
 
Creata la nuova immagine e allocati i colori, è ora possibile lavorarci sopra in due modi:
*disegnando nuovi pixel (creando linee, forme, ecc...)
*lavorando sui pixel già esistenti (serve se l'immagine è stata caricata da un file) tagliandone parti, ricolorandola o ridimensionandola)
 
== Disegnare punti, linee e forme ==
Per disegnare un pixel usiamo la funzione
<source lang=php>imagesetpixel(immagine, x, y, colore)</source>
dove <code>immagine</code> è una risorsa di immagine , <code>x</code> e <code>y</code> sono le coordinate del punto da disegnare e <code>colore</code> è una risorsa che identifica un colore allocato in precedenza.
<source lang=php>imageline(immagine, x1, y1, x2, y2, colore)</source>
Traccia una linea dal punto x1, y1 al punto x2, y2
<source lang=php>imagerectangle(immagine, x1, y1, x2, y2, colore)</source>
Disegna un rettangolo che ha per diagonale la linea da x1, y1 a x2, y2.
<source lang=php>imageellipse(immagine, x, y, w, h, colore)</source>
Disegna una ellisse di centro x, y di altezza h e larghezza w. Se h è uguale a w, allora si otterrà un cerchio.
<source lang=php>imagearc(immagine, x, y, w, h, ang1, ang2, colore)</source>
Funzione come <code>imageellipse</code> ma disegna solo l'arco di ellise compreso tra gli angoli (in gradi) ang1 e ang2, I gradi sono contati in senso orario a partire dalle ore 3.
 
== Lavorare sui pixel già esistenti ==
Per lavorare su un'immagine già disegnata in precedenza, ad esempio una foto, si hanno a disposizione molte funzioni
[[Categoria:Linguaggio PHP|Lavorare con le immagini]]