Bonjour,

J'utilise cette fonction pour la création de vignette via mon interface d'admin sur mon site et la vignette n'est pas net. Exist'il un moyen pour envoi une meilleur qualité

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
 
function creation_vignette($image,$largeur_max,$hauteur_max,$source,$destination,$prefixe){ 
 
 if (!file_exists($source.$image))  
     { 
    echo "Erreur due vraissemblablement a l'envoie du fichier"; 
    exit; 
     } 
 
 // On verifie que l'extention du fichier est bien une image jpg,jpeg ou gif 
 $ext=strtolower(strrchr($image,'.'));      
 if ($ext==".jpg" || $ext==".jpeg" || $ext==".gif" || $ext==".png") 
     { 
    $size = getimagesize($source.$image); 
     $largeur_src=$size[0]; 
     $hauteur_src=$size[1]; 
 
 //2ieme verification -> on verifie que le type du fichier est un jpg,jpeg,gif ou bmp 
 //rappel 
 //retourne un tableau de 4 éléments.  
 //L'index 0 contient la largeur.  
 //L'index 1 contient la longueur.  
 //L'index 2 contient le type de l'image :  
 //            1 = GIF  ,  
 //            2 = JPG  ,  
 //            3 = PNG  ,  
 //            4 = SWF  ,  
 //            5 = PSD  ,  
 //            6 = BMP  ,  
 //            7 = TIFF  (Ordre des octets Intel),  
 //            8 = TIFF  (Ordre des octets Motorola),  
 //            9 = JPC  ,  
 //            10 = JP2  ,  
 //            11 = JPX  ,  
 //            12 = JB2  ,  
 //            13 = SWC  ,  
 //            14 = IFF  .  
 //Ces valeurs correspondent aux constantes IMAGETYPE qui ont été ajoutées en PHP 4.3 
 
 // $size[2] -> type de l'image : 1 = GIF , 2 = JPG,JPEG 
     if ($size[2]==1 || $size[2]!=2 || $size[2]!=3 || $size[2]!=6) 
        { 
        if($size[2]==1) 
            {  
            // format gif 
              $image_src=imagecreatefromgif($source.$image); 
             } 
          if($size[2]==2) 
            {  
            // format jpg ou jpeg 
              $image_src=imagecreatefromjpeg($source.$image); 
             } 
         if($size[2]==3) 
            {  
            // format png 
              $image_src=imagecreatefrompng($source.$image); 
             } 
         if($size[2]==6) 
            {  
            // format bmp 
              $image_src=imagecreatefromwbmp($source.$image); 
             } 
 
         // on verifie que l'image source ne soit pas plus petite que l'image de destination 
         if ($largeur_src>$largeur_max OR $hauteur_src>$hauteur_max) 
            { 
             // si la largeur est plus grande que la hauteur 
             if ($hauteur_src<=$largeur_src) 
                { 
                 $ratio=$largeur_max/$largeur_src; 
                 } 
            else 
                { 
                 $ratio=$hauteur_max/$hauteur_src; 
                 } 
             } 
        else 
            { 
             $ratio=1;  // l'image créee sera identique a l'originale 
             } 
 
         $image_dest=imagecreatetruecolor(round($largeur_src*$ratio), round($hauteur_src*$ratio)); 
         imagecopyresized($image_dest,$image_src,0,0,0,0,round($largeur_src*$ratio),round($hauteur_src*$ratio),$largeur_src,$hauteur_src); 
 
         if(!imagejpeg($image_dest, $destination.$prefixe.$image)) 
            { 
               //echo "la création de la vignette a echouée pour l'image $image"; 
               exit; 
              } 
         }//fin du size 
    }//fin de l'extension  
 }
voici l'image créé : http://www.monde-du-velo.com/images/...1254131169.jpg
et l'image source dispo ici elle fait plus de 1200px de large : http://www.cycles-lapierre.fr/lapier...elius-200-2010

merci d'avance pour votre aide
bonne journée
Ludo