[PHP] Création d'images (complexes) à la volée

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

Tchinkatchuk
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 291
Inscription: 22 Avr 2003

Message le Mer Aoû 13, 2003 16:44

Bonjour,

je n'ai pas trouvé la fonction qui gère la transparence. Par exemple, un gif avec des zones transparentes se retrouvent avec des zones blanches.

Quelles fonctions gere la transparence ?

Voici mon code de génération de l'image :
Code: Tout sélectionner
function resize1($image,$newimage,$max_width=80000,$max_height=600,$image_quality=90,$addborder=1){
   if(substr(strtolower($image), (strlen($image)-4),4)==".gif"){
        $src_img=imagecreatefromgif($image);
        $gif = true;
     }
     else if(substr(strtolower($image), (strlen($image)-4),4)==".jpeg" || substr(strtolower($image), (strlen($image)-5),5)==".jpeg"){
        $src_img=imagecreatefromjpeg($image);
        $jpeg = true;
     }
      //$src_img = ImageCreateFromJpeg($image);
   $orig_x = ImageSX($src_img);
   $orig_y = ImageSY($src_img);
   $new_y = $max_height;
   $new_x = $orig_x/($orig_y/$max_height);
   if ($new_x > $max_width) {
      $new_x = $max_width;
      $new_y = $orig_y/($orig_x/$max_width);
   }
   $dst_img = ImageCreateTrueColor($new_x,$new_y);
//   $dst_img = imagecreate($new_x,$new_y);
   ImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $new_x, $new_y, $orig_x, $orig_y);
//   ImageCopyResized($dst_img, $src_img, 0, 0, 0, 0, $new_x, $new_y, $orig_x, $orig_y);
   if ($addborder == 1){
      // Add border
          $black = ImageColorAllocate($dst_img, 0, 0, 0);
          ImageSetThickness($dst_img, 1);
          ImageLine($dst_img, 0, 0, $new_x, 0, $black);
         ImageLine($dst_img, 0, 0, 0, $new_y, $black);
         ImageLine($dst_img, $new_x-1, 0, $new_x-1, $new_y, $black);
          ImageLine($dst_img, 0, $new_y-1, $new_x, $new_y-1, $black);
   }
   if($jpeg)   ImageJpeg($dst_img, $newimage, $image_quality);
   else if($gif)   ImageGif($dst_img, $newimage, $image_quality);
   ImageDestroy($src_img);
   ImageDestroy($dst_img);
}


Que me manque-t-il ? Merci d'avance.

PS : desole si c simple mais je suis un neophyte de GD et surtout GD2

JPC
WRInaute impliqué
WRInaute impliqué
 
Messages: 565
Inscription: 2 Juin 2003

Message le Mer Aoû 13, 2003 17:01

Tu peux définir la couleur transparente avec
imagecolortransparent($dst_img,$white) dans ton exemple je suppose
après avoir défini $white quand même ;-)

Tchinkatchuk
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 291
Inscription: 22 Avr 2003

Message le Jeu Aoû 14, 2003 9:15

Merci beaucoup,

je vais voir ca.

[PHP] Création d'images (complexes) à la volée

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités