Utilizzo di cookies
Script GD libray con PHP Modelli Creare immagine Colore e trasparenza Disegnare Pennelli Misurare Filtri Testo Copy Salvare Miscellanea
GD library con PHP
imagettftext() effetto arcobaleno
rotazione testo con effetto cromatico


e-book
cartaceo

Il carattere usato è arial.ttf  che si trova nella sotto cartella font.
Tradizionalmente sono 7 i colori dell'arcobaleno, i computer non possono mostrarli con precisione, ma solo approssimare.



Viene caricata un'immagine di colore uniforme e resa trasparente per diventare lo sfondo del testo che verrà scritto.
Sull'immagine viene scritta più volte, in vari colori e inclinazioni, la parola arcobaleno seguita dai gradi di inclinazione per i quali è tracciata. 


<?php 

Esempio di fusione fra immagini con sfondi (Grata.png e Tigre.png) trasparenti preservando le trasparenze.
Notare che con imagecopyresampled (), 
la grata viene ridimensionata per adattarsi perfettamente all'immagine con la tigre.


// carica l'immagine
$Immagine = imagecreatefrompng("NomeFile.png");


// dimensioni dell'immagine
$Larghezza = imagesx($Immagine); $Altezza = imagesy($Immagine);


// legge punto x,y dell'immagine
$ColoreTrasparenza = imagecolorat($Immagine, 0, 0);


// rende trasparente il colore letto nel punto x,y
imagecolortransparent($Immagine, $ColoreTrasparenza);


$FontNome = "font/arial.ttf"; // posizione e nome nome font
$FontDim = 30; // dimensione font
$Colore[0] = imagecolorallocate($Immagine, 255,0,0); // Rosso
$Colore[1] = imagecolorallocate($Immagine, 255,127,0); // Arancio
$Colore[2] = imagecolorallocate($Immagine, 255,255,0); // Giallo
$Colore[3] = imagecolorallocate($Immagine, 0,255,0); // Verde
$Colore[4] = imagecolorallocate($Immagine, 0,0,255); // Blu
$Colore[5] = imagecolorallocate($Immagine, 75,0,130); // Indaco
$Colore[6] = imagecolorallocate($Immagine, 139,0,255); // Viola
$x=0; $C=0; $count = 18; // valori di default per calcolo gradi
while($x<$count){
$x=$x+1; $Testo="     arcobaleno ".(20*$x)."°"; // crea la stringa da disegnare
// disegna la stringa
imagettftext($Immagine, $FontDim, 20*$x, $Larghezza/2,$Altezza/2, $Colore[$C], $FontNome, $Testo);
$C++; if($C>6){$C =0;} // colore nel quale viene scritta la prossima stringa



header("Content-type: image/png");
imagepng($Immagine,"NomeFile_arcobaleno.png"); // salva
imagepng($Immagine); // al browser
imagedestroy($Immagine); // libera memoria
?>
 
Risultato: