vignettes avec cadre automatique à upload

1 message dans ce sujet

Posté(e) · Signaler ce message

Rebonjour la communaute

Normalement les 2 topics que j ai posté

devrait aller dans une rubrique astuces et truc commun à premium et shopping

voici la suite

c est à dire création de vignettes à l'upload script déjà vu sur un des forums

mais avec une modification qui permet de créer un cadre autour de la vignette et de l image normale

voici le code et sa modification

/*Fonction d'upload de fichiers */

function upload($the_file) {

$size = 500; // the thumbnail height

$filedir = '../upload/normales/'; // the directory for the original image

$thumbdir = '../upload/vignettes/'; // the directory for the thumbnail image

$prefix = 'small_'; // the prefix to be added to the original name

$maxfile = '5000000';

$mode = '0666';

$userfile_name = $the_file['name'];

$userfile_tmp = $the_file['tmp_name'];

$userfile_size = $the_file['size'];

$userfile_type = $the_file['type'];

if (isset($the_file['name']))

{

$prod_img = $filedir.$userfile_name;

$prod_img_thumb = $thumbdir.$prefix.$userfile_name;

move_uploaded_file($userfile_tmp, $prod_img);

chmod ($prod_img, octdec($mode));

$sizes = getimagesize($prod_img);

$aspect_ratio = $sizes[1]/$sizes[0];

if ($sizes[1] <= $size)

{

$new_width = $sizes[0];

$new_height = $sizes[1];

}else{

$new_height = $size;

$new_width = abs($new_height/$aspect_ratio);

}

$destimg=ImageCreateTrueColor($new_width,$new_height)

or die('Problem In Creating image');

$srcimg=ImageCreateFromJPEG($prod_img)

or die('Problem In opening Source Image');

$largeurSource = imagesx($srcimg);

$hauteurSource = imagesy($srcimg);

$blanc = ImageColorAllocate ($destimg, 255, 255, 255);

$gris[0] = ImageColorAllocate ($destimg, 90, 90, 90);

$gris[1] = ImageColorAllocate ($destimg, 110, 110, 110);

$gris[2] = ImageColorAllocate ($destimg, 130, 130, 130);

$gris[3] = ImageColorAllocate ($destimg, 150, 150, 150);

$gris[4] = ImageColorAllocate ($destimg, 170, 170, 170);

$gris[5] = ImageColorAllocate ($destimg, 190, 190, 190);

$gris[6] = ImageColorAllocate ($destimg, 210, 210, 210);

$gris[7] = ImageColorAllocate ($destimg, 230, 230, 230);

for ($i=0; $i<=7; $i++) {

ImageFilledRectangle ($destimg, $i, $i, $new_width-$i, $new_height-$i, $gris[$i]);

}

if(function_exists('imagecopyresampled'))

{

imagecopyresampled($destimg,$srcimg,8,8,0,0,$new_width-(2*8),$new_height-(2*8),$largeurSource,$hauteurSource)

or die('Problem In resizing');

}else{

Imagecopyresized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,$largeurSource,$hauteurSource)

or die('Problem In resizing');

}

ImageJPEG($destimg,$prod_img_thumb,100)

or die('Problem In saving');

imagedestroy($destimg);

}

return $prod_img_thumb;

}

en esperant que celà vous soit utile!!

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping