1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
<?php include('./class.ImageFilter.php');
//****************************************************************************** // on ouvre une image et on applique des filtres //****************************************************************************** $IF=new ImageFilter; $IF->loadImage('test.png'); $IF->resize('200%','','force',true); $IF->setColorsToWork(16); // default = 256 //$IF->colorize(0,0,0,0); // filtre neutre => appliquera la réduction de couleur //$IF->colorize(10,255,0,0); //$IF->grayscale(); $IF->sepia(); //$IF->negative(); $IF->mosaic(3);
//****************************************************************************** // on prépare un tampon avec couche alpha (source PNG) //****************************************************************************** $IF2=new ImageFilter; $IF2->loadImage('testStamp.png'); //!!! les filtres posent problème pour le gestion de la transparence //$IF2->negative();
//****************************************************************************** // on applique le tampon en 0/0 sur la première image //****************************************************************************** $IF->stamp($IF2->resourceImage,0,0); $IF2->clear(); //on libère la mémoire
//****************************************************************************** // on vas à présent placer l'image "1" sur une surface de taille fixe //****************************************************************************** $IF->resize('160','120','ratio',true); //redimensionnement (étirement autorisé) $info=$IF->getImageSize(); //on récupère les dimensions (à cause du ratio)
$IF3=new ImageFilter; //on crée notre support $IF3->createImage(160,120); $IF3->fill(0,0,155,155,200); //on rempli la surface depuis le point 0,0 de l'image avec un couleur R,G,B $IF3->stamp($IF->resourceImage,(160-$info['w'])/2,(120-$info['h'])/2); // on applique l'image 1 centré dans notre support $IF->clear(); //on libère la mémoire de l'image 1 (il nous reste l'image 3 pour l'affichage)
//****************************************************************************** // et voila la résultat //****************************************************************************** $IF3->output('PNG'); ?>
|