PHP/Programmazione/Immagini: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m Update syntaxhighlight tags - remove use of deprecated <source> tags |
||
Riga 15:
== 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:
<
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. Esiste anche una funzione, seppur non raccomandata, che crea un'immagine con una minore ampiezza di colori: <code>imagecreate</code>, che ha lo stesso comportamento di <code>imagecreatetruecolor</code>.
Per caricare in memoria un'immagine salvata su disco usiamo invece le funzioni
<
che carica un'immagine salvata sul server del tipo specificato. Ad esempio:
$img = imagecreatefrompng('immagine.png');
Esiste inoltre una funzione
<
che crea un'immagine contenente il testo specificato come argomento
Riga 31:
== Lavorare con i colori ==
Per allocare un colore si usa la funzione
<
che restituisce un riferimento al colore date le sue componenti [[w:RGB|RGB]].
È possibile, se si sta lavorando con formati come il PNG (che supporta la trasparenza), allocare colori trasparenti con la funzione <code>imagecolortransparent</code>
<
dove <code>colore</code> è una risorsa colore valida creata con <code>imagecolorallocate</code>; è anche possibile allocare colori con una determinata trasparenza, compresa tra 0 (opaco) e 127 (completamente trasparente) con la funzione
<
Si noti che il primo colore allocato verrà automaticamente usato come colore di sfondo dell'immagine.
Riga 46:
== Disegnare punti, linee e forme ==
Per disegnare un pixel usiamo la funzione
<
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.
<
Traccia una linea dal punto x1, y1 al punto x2, y2
<
Disegna un rettangolo che ha per diagonale la linea da x1, y1 a x2, y2.
<
Disegna una ellisse di centro x, y di altezza h e larghezza w. Se h è uguale a w, allora si otterrà un cerchio.
<
Funzione come <code>imageellipse</code> ma disegna solo l'arco di ellisse compreso tra gli angoli (in gradi) ang1 e ang2, I gradi sono contati in senso orario a partire dalle ore 3.
Riga 62:
Una delle più utilizzate è sicuramente <code>imagecopyresized</code>, che permette di copiare una porzione rettangolare di un'immagine ed incollarla in un'altra (con possibilità di ridimensionarla durante il processo). Es:
<
src_y, dst_w, dst_h, src_w, src_h);</
dove:
*<code>dst_image</code> è l'immagine dove verrà incollata
Riga 78:
==Stampare l'output==
Prima di stampare l'output del risultato ottenuto è necessario indicare, usando la funzione <code>header</code>, il content-type (tipo del contenuto, che per default è impostato a text/html); quindi:
<
dove <code>tipo</code> sta per "png", "jpeg" o "gif" a seconda del formato in cui si vuole visualizzare l'immagine.
Riga 89:
== Esempio ==
Per visualizzare un quadrato rosso in un nero:
<
$image = imagecreatetruecolor(100, 100);
$color = imagecolorallocate($image, 255, 0, 0);
Riga 96:
imagepng($image);
imagedestroy($image);
</syntaxhighlight>
[[Categoria:PHP|Immagini]]
|