Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
974 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] créer des miniatures de bonne qualité !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] créer des miniatures de bonne qualité !

n°169012
z0rglub
Posté le 01-07-2002 à 15:34:58  profilanswer
 

salut,
pour mon appli de galerie d'image en ligne PhpWebGallery, je cherche un script qui fasse des resize de bonne qualité. Parce que pour le moment, j'utilise la lib GD pour la version beta de PhpWebGallery et les résultats sont moches :
http://z0rglub.dns2go.com/essai/tn/thumbnail/TN-caimans.jpg générée par un script
http://z0rglub.dns2go.com/demo/galleries/animaux/thumbnail/TN-caimans.jpg générée par un outils graphique spécialisé (XnView si je me souviens bien)
http://z0rglub.dns2go.com/essai/tn/gd2/TN-caimans.jpgfait avec GD 2.0, sur multimania, c pas mal du tout


Message édité par z0rglub le 01-07-2002 à 21:20:30

---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
mood
Publicité
Posté le 01-07-2002 à 15:34:58  profilanswer
 

n°169013
LetoII
Le dormeur doit se réveiller
Posté le 01-07-2002 à 15:37:36  profilanswer
 

Ben tu resize et aprés tu fait un lissage (si c pas inclut dans la lib y a des algo tout con qui donne un résultat pas trop dégueu)


---------------
Le Tyran
n°169020
z0rglub
Posté le 01-07-2002 à 15:43:01  profilanswer
 

letoII a écrit a écrit :

Ben tu resize et aprés tu fait un lissage (si c pas inclut dans la lib y a des algo tout con qui donne un résultat pas trop dégueu)




ah tu m'intéresses, je cherche mais si tu connais j'attend tes URLs


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
n°169022
LetoII
Le dormeur doit se réveiller
Posté le 01-07-2002 à 15:45:48  profilanswer
 

Ben en fait c un algo que j'ai fais moi même, ça vaut ce que ça vaut, mais ça donnait un résultat pas trop mal. Si t intéressé je te le passe ce soir (je l'ai aps là je suis au boulot :D)


---------------
Le Tyran
n°169023
z0rglub
Posté le 01-07-2002 à 15:48:43  profilanswer
 

letoII a écrit a écrit :

Ben en fait c un algo que j'ai fais moi même, ça vaut ce que ça vaut, mais ça donnait un résultat pas trop mal. Si t intéressé je te le passe ce soir (je l'ai aps là je suis au boulot :D)




ah oui, ça m'intéresse fortement, en plus t'auras ton nom écris dans les contributeur à mon projet et ton nom dans les sources :D


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
n°169024
LetoII
Le dormeur doit se réveiller
Posté le 01-07-2002 à 15:51:43  profilanswer
 

z0rglub a écrit a écrit :

 
ah oui, ça m'intéresse fortement, en plus t'auras ton nom écris dans les contributeur à mon projet et ton nom dans les sources :D




 :bounce:  
Super.
Bon, je te passe ça ce soir dès que je rentre.


---------------
Le Tyran
n°169025
chocoboy
Posté le 01-07-2002 à 15:53:45  profilanswer
 

tu as vu ici ?
 
http://www.zend.com/codex.php?CID=344
 
tu utlises ImageCopyResampled ou ImageCopyResized ?

n°169026
z0rglub
Posté le 01-07-2002 à 15:54:47  profilanswer
 

ImageCopyResized


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
n°169027
z0rglub
Posté le 01-07-2002 à 15:56:41  profilanswer
 

sinon, oui, j'ai déjà vu la page que tu me donnes en URL sur le site de ZEND. Mais j'ai pas eu le temps de tester. En tout cas, j'utilise pas imageMagik, je peux pas car ça marche pas partout


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com
n°169299
z0rglub
Posté le 01-07-2002 à 22:36:10  profilanswer
 

voici la fonction que j'utilise, le coeur étant les lignes Partie 1 et 2, faisant de belles miniatures ou moches !

Code :
  1. function RatioResizeImg( $image, $newWidth, $newHeight, $path)
  2. {
  3.  // chemin complet de l'image :
  4.  $chemin = $path.$image;
  5.  echo $chemin."<br />";
  6.  // détéction du type de l'image
  7.  eregi("(...)$",$chemin,$regs);
  8.  $type = $regs[1];
  9.  switch( $type )
  10.  {
  11.   case "gif": $srcImage = @imagecreatefromgif( $chemin ); break;
  12.   case "jpg": $srcImage = @imagecreatefromjpeg( $chemin ); break;
  13.   case "png": $srcImage = @imagecreatefrompng( $chemin ); break;
  14.   default : unset( $type ); break;
  15.  }
  16.  if( $srcImage )
  17.  {
  18.   // hauteurs/largeurs
  19.   $srcWidth = imagesx( $srcImage );
  20.   $srcHeight = imagesy( $srcImage );
  21.   $ratioWidth = $srcWidth/$newWidth;
  22.   $ratioHeight = $srcHeight/$newHeight;
  23.   // taille maximale dépassée ?
  24.   if (($ratioWidth > 1) || ($ratioHeight > 1))
  25.   {
  26.    if( $ratioWidth < $ratioHeight)
  27.    {
  28.     $destWidth = $srcWidth/$ratioHeight;
  29.     $destHeight = $newHeight;
  30.    }
  31.    else
  32.    {
  33.     $destWidth = $newWidth;
  34.     $destHeight = $srcHeight/$ratioWidth;
  35.    }
  36.   }
  37.   else
  38.   {
  39.    $destWidth = $srcWidth;
  40.    $destHeight = $srcHeight;
  41.   }
  42.   // selon votre version de GD installée sur le serveur hébergeur,
  43.   // utilisez la partie 1 ou 2 en retirant ou  
  44.   // rajoutant les caractères de commentaire "//"
  45.   // Partie 1 : GD 2.0 ou supérieur, résultat très bons
  46.   $destImage = imagecreatetruecolor( $destWidth, $destHeight);
  47.   imagecopyresampled( $destImage, $srcImage, 0, 0, 0, 0, $destWidth,$destHeight,$srcWidth,$srcHeight );
  48.   // Partie 2 : GD inférieur à 2, résultat très moyens
  49.   //$destImage = imagecreate( $destWidth, $destHeight);
  50.   //imagecopyresized( $destImage, $srcImage, 0, 0, 0, 0, $destWidth,$destHeight,$srcWidth,$srcHeight );
  51.   if( !is_dir( $path."thumbnail" ) )
  52.   {
  53.    mkdir( $path."thumbnail", 0777 );
  54.   }
  55.   $dest_file  = $path."thumbnail/TN-".$image;
  56.   // création et sauvegarde de l'image finale
  57.   /* Ici on peut éditer le chemin de sauvegarde ($dest_file) */
  58.   switch($type)
  59.   {
  60.    case "gif": @imagegif($destImage, $dest_file); break;
  61.    case "jpg": @imagejpeg($destImage, $dest_file); break;
  62.    case "png": @imagepng($destImage, $dest_file); break;
  63.   }
  64.   // libère la mémoire
  65.   imagedestroy( $srcImage );
  66.   imagedestroy( $destImage );
  67.   // renvoit l'URL de l'image
  68.   return $dest_file;
  69.  }
  70.  // erreur
  71.  else
  72.  {
  73.   echo "Image inexistante ou aucun support ";
  74.   if ($type)
  75.   {
  76.    echo "pour le format $type";
  77.   }
  78.   else
  79.   {
  80.    echo "pour ce format de fichier";
  81.   }
  82.   exit();
  83.  }
  84. }


---------------
Ma galerie photo créée avec Piwigo et hébergée sur Piwigo.com

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] créer des miniatures de bonne qualité !

 

Sujets relatifs
[PHP] recupere la cle d une ligne qu on vient de creerUne bonne grosse variable globale, en Java, y a vraiement pas moyen !?
[PHP/ASP] Peut on générer dynamiquement les keywords ![PHP] Linux & php
[PHP] Variable qui ne s'affiche pas[PHP] Encore cette boucle ... RHAAAAAAAAAAAAAA
[PHP] Moteur de recherche PHP[PHP] Comment on cripte les données issus de saisie ( post ou get )
[PHP] Système de dossiers ... 
Plus de sujets relatifs à : [PHP] créer des miniatures de bonne qualité !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR