Eccola ... logicamente la classe è migliorabile ... però inizia a prendere forma ...
L'unica cosa che ancora non riesco a fare, è centrare il testo in base alle lettere da cui è composto ... è possibile?
Grazie!!
Codice PHP:
class Polaroid{
//url delle immagini
var $v_s_urlpol;
var $v_s_urlupl;
//larghezza ed altezza immagine di sfondo
var $v_i_larghezza;
var $v_i_altezza;
//larghezza ed altezza immagine inviata
var $v_i_larghezza2;
var $v_i_altezza2;
//variabili per il resize
var $v_i_qualita;
var $v_i_newh;
var $v_i_newl;
//costruttore della classe
function Polaroid($v_s_imgori,$v_s_imgmod){
//recupero i parametri
$this->v_s_urlpol = $v_s_imgori;
$this->v_s_urlupl = $v_s_imgmod;
//ricavo altezza e larghezza dell'immagine di sfondo
list($this->v_i_larghezza, $this->v_i_altezza) = getimagesize($this->v_s_urlpol);
//ricavo altezza e larghezza dell'immagine inviata
list($this->v_i_larghezza2, $this->v_i_altezza2) = getimagesize($this->v_s_urlupl);
}//close function polaroid
function ResizeUpload($v_i_qualita,$v_i_newaltezza,$v_i_newlarghezza){
//qualita' dell'immagine
$this->v_i_qualita = $v_i_qualita;
//nuova altezza
$this->v_i_newh = $v_i_newaltezza;
//nuova larghezza
$this->v_i_newl = $v_i_newlarghezza;
//immagine da sovrapporre
$v_s_img = imagecreatefromjpeg($this->v_s_urlupl);
//restituisce un identificatore di immagini che rappresentano una immagine nera della specificate dimensioni
$tmp_img = imagecreatetruecolor($this->v_i_newl, $this->v_i_newh);
//ridimensionamento dell'immagine
imagecopyresized($tmp_img, $v_s_img, 0, 0, 0, 0, $this->v_i_newl, $this->v_i_newh, $this->v_i_larghezza2, $this->v_i_altezza2);
//cancello l'immagine caricata
imagedestroy($v_s_img);
//variabile v_s_img
$v_s_img = $tmp_img;
//nome dell'immagine temporanea
$v_s_newimg = "img_temp.jpg";
//creazione dell'immagine temporanea
imagejpeg($v_s_img, $v_s_newimg, $this->v_i_qualita);
}//close function ResizeUpload
function NewPolaroid(){
//creo un'immagine nuova delle stesse dimensioni dello sfondo
$v_s_newimg = imagecreatetruecolor($this->v_i_larghezza,$this->v_i_altezza);
//recupero le dimensioni
$v_i_sizepol = getimagesize($this->v_s_urlpol);
$v_i_sizetemp = getimagesize("img_temp.jpg");
//le immagini da unire
$v_s_img =imagecreatefromjpeg($this->v_s_urlpol);
$v_s_img2 =imagecreatefromjpeg("img_temp.jpg");
//unisco le immagini
imagecopy($v_s_img,$v_s_img2,9,5,0,0,$v_i_sizetemp[0],$v_i_sizetemp[1]);
//il testo
$v_s_text = 'Testing...';
//carico il font
$v_s_font = 'bruss.ttf';
//scrivo il testo
imagettftext($v_s_img, 14, 0, 10, 84, $v_s_colour, $v_s_font, $v_s_text);
//creazione dell'immagine
imagejpeg($v_s_img,'definitiva.jpg',100);
//elimino l'immagine temporanea
unlink("img_temp.jpg");
}//close function NewPolaroid
}//close class polaroid
//creazione oggetto di tipo polaroid
$objPolaroid = new Polaroid("img.jpg","prova.jpg");
//richiamo il metodo ResizeUpload
$objPolaroid->ResizeUpload("100","63","103");
//richiamo il metodo NewPolaroid
$objPolaroid->NewPolaroid();