Marre des couleurs qui dégorgent

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par ben64btz, 9 Décembre 2009.

  1. ben64btz
    ben64btz WRInaute discret
    Inscrit:
    9 Mai 2006
    Messages:
    179
    J'aime reçus:
    0
    Bonjour à tous,

    J'ai récupéré et quelque peu modifié le script suivant en vue de resizer mes images lors d'un upload et de pouvoir ressortir des thumbnails.
    Tout se passe parfaitement mon image est sauvegardée dans le bon répertoire, mon thumbnail se créer dans le bon répertoire mais lorsque j'ouvre le thumbnail surprises les couleurs ont déteint au lavage ...
    Avez vous déjà eu ce type de problématique ? les variables $h et $l (pas très original je vous l'accorde) remontent les hauteurs et largeurs des thumbnails enb pixels y a t'il des tailles tailles standard à respecter ? ais-je oublié une fonction qui prend en charge les couleurs ? dois-je changer de lessive ?

    Merci d'avance :)

    Code:
    <?php
    echo $_FILES['image']['size']." r ". $_FILES['image']['name'];
    $max = $_FILES['image']['size'];
    $image = $_FILES['image']['name'];
    $random = mt_rand(1, 1000);// création d'un random pour le thumb
    if (preg_match("#(gif|jpg|png)$#i", $image ))
    	{
    		if (filesize($_FILES['image'][tmp_name]) >100000)
    			{
     				echo 'image trop grande, limitée à 100 KB';
    			}
    		else
    			{  
    						move_uploaded_file($_FILES['image']['tmp_name'], 'photos/' . basename($random.$_FILES['image']['name']));
                            echo "L'envoi a bien été effectué !";
    						$base = basename($_FILES['image']['name']);
     					    $taille=getimagesize("photos/".$random.$base);
    						
    				if ($taille[0] > $taille[1])// definition du type d'image
    					{
    					$h= 160;
    					$l = 120;
    					}
    				if ($taille[0] < $taille[1])// definition du type d'image
    					{
    					$h= 100;
    					$l = 150;
    					}
    				if ($taille[0] == $taille[1])// definition du type d'image
    					{
    					$l= 160;
    					$h = 160;
    					}
    					if ($taille[2]==1)// ceci est une image GIF
    						{
    							$image1=imagecreatefromgif("photos/".$random.$base);
    							$image2=imagecreate($h,$l);
    							imagecopyresized($image2,$image1,0,0,0,0,$h,$l,$taille[0],$taille[1]);
    							imagegif($image2,"thumbs/mini-".$random.$base);
    						}
    					elseif ($taille[2]==2)// ceci est une image JPG
    						{
    							$image1=imagecreatefromjpeg("photos/".$random.$base);
    							$image2=imagecreate($h,$l);
    							imagecopyresized($image2,$image1,0,0,0,0,$h,$l,$taille[0],$taille[1]);
    							imagejpeg($image2,"thumbs/mini-".$random.$base);
    						}
    					elseif ($taille[2]==3)// ceci est une image png
    						{
    							$image1=imagecreatefrompng("photos/".$random.$base);
    							$image2=imagecreate($h,$l);
    							imagecopyresized($image2,$image1,0,0,0,0,$h,$l,$taille[0],$taille[1]);
    							imagepng($image2,"thumbs/mini-".$random.$base);
    						}
    
    			}
    	}
    ?>
     
  2. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 003
    J'aime reçus:
    128
    Je n'utilise plus GD depuis belle lurette quand je génère des thumbnail. Imagemagick (pour peu que tu sois sous sur dédié) est bien plus efficace et avec un résultat bien plus performant pour ce faire.
     
  3. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 170
    J'aime reçus:
    344
    Tu as regardé du côté de phpThumb() ? Ca utilise ImageMagick ou GD.
     
  4. cedric_g
    cedric_g WRInaute accro
    Inscrit:
    18 Janvier 2006
    Messages:
    2 930
    J'aime reçus:
    2
    Bonjour

    Une question stupide : tes images sont dans quel espace colorimétrique à l'origine ?

    Car si tu prends des images en Adobe RVB et que tu les retraites en sRVB sans conversion de profil ICC, c'est typiquement le genre de chose qui arrive...

    Ce sont des photos ? Issues d'appareils numériques ?

    Cédric (photographe pro à ses heures perdues)
     
  5. ben64btz
    ben64btz WRInaute discret
    Inscrit:
    9 Mai 2006
    Messages:
    179
    J'aime reçus:
    0
    Bonjour à tous,

    J'ai un hébergement mutualisé donc assez limité au niveau de Imagemagick même si c'est une super solution.
    concernant l'espace colorimétrique il est difficile de le définir puisque ces thumbnails sont les photos de mes membres (ils créer un compte et chargent une photo. lorsque l'on affiche le profile il y a la description + le thumbnail).
     
  6. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 774
    J'aime reçus:
    0
    Voilà une petite classe que j'utilise :
    http://pastebin.com/m675dda8d
    Je n'ai aucun problème pour ce que tu dis, il y a beaucoup de filtres GD, si tu ne les utilises pas, par défaut c'est "moche".
    Si tu veux tester c'est dispo sur images.guiks.net
     
  7. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    sauvegardes-tu les photos initiales avant retaillage ? juste histoire de vérifier que les problèmes des couleurs ne sont pas dues aux originaux de mauvaise qualité ?
     
  8. ben64btz
    ben64btz WRInaute discret
    Inscrit:
    9 Mai 2006
    Messages:
    179
    J'aime reçus:
    0
    Oui Leonick elles sont sauvegardées dans un fichier à part et tout est ok pour celles-la.
    Après plusieurs tests il s'avère que le problème n'apparait que sur les photos en jpeg.
     
  9. ben64btz
    ben64btz WRInaute discret
    Inscrit:
    9 Mai 2006
    Messages:
    179
    J'aime reçus:
    0
    C'est bon j'ai trouvé merci à tous.
    Bon pour ceux qui tomberaient sur ce topic et qui seraient intéressés par la réponse la voici:

    Auparavant j'utilisais la fonction imageCreate pour générer une nouvelle image redimensionnée à partir d'une image comme ceci:
    Code:
    imagecreate(w,h);
    Mais la fonction semble mal retraiter les couleurs sur des formats jpeg.
    J'ai donc essayé la fonction suivante :

    Code:
    ImageCreateTrueColor();
    et miracle ça fonctionne (ça pixelise un peu mais c'est déjà beaucoup mieux au niveau des couleurs et c'est suffisant dans mon cas).

    Merci à tous encore.
     
  10. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    effectivement, je ne me rappelais plus avoir déjà été confronté à ce problème (il y a quelques années) et résolu de la même façon
     
Chargement...
Similar Threads - Marre couleurs dégorgent Forum Date
Démarrer un annuaire Demandes d'avis et de conseils sur vos sites 19 Décembre 2019
Mes campagnes Google Ads ne démarrent pas AdWords 23 Octobre 2019
Le SEO : j'en ai plus que marre ! Débuter en référencement 1 Octobre 2018
Marre des mises à jour google penguin, panda, collibri, phantom etc Référencement Google 4 Octobre 2016
[HELP] MySQL ne veux plus démarrer. Administration d'un site Web 13 Août 2015
[FAIL] MYSQL NE VEUT PLUS DEMARRER! [AIDEZ MOI] Administration d'un site Web 11 Juillet 2015
Réutiliser une ancienne URL ou démarrer avec une nouvelle ? Débuter en référencement 13 Février 2013
Aperçu: mon WAMPSERVER 2.1 ne démarre pas dans lasession utilisateur Débuter en référencement 26 Mai 2012
des astuces pour bien démarrer une campagne google adwords AdWords 18 Décembre 2011
Marre des sites avec informations sur les sociétés Référencement Google 6 Juillet 2011
[Résolu] Cron pour “Redémarrer tous les services” sur Webmin Kimsufi Administration d'un site Web 2 Février 2011
Démarrer dans le e-commerce en marque blanche Monétisation d'un site web 6 Janvier 2011
Démarrer un forum Débuter en référencement 6 Septembre 2010
Référencement qui ne démarre pas. Référencement international (langues, pays) 17 Août 2010
Marre des régies qui ne raportent rien!!! Monétisation d'un site web 11 Mai 2010
Ma boite dépannage informatique ne démarre pas ? Problèmes de référencement spécifiques à vos sites 5 Avril 2010
Marre du pompage de contenu, quel moyen pour bloquer les spamcrawler Administration d'un site Web 2 Avril 2010
La pertinence Google, je me marre... Référencement Google 7 Septembre 2009
Démarrer un site de petites annonces ou un forum Développement d'un site Web ou d'une appli mobile 3 Septembre 2009
Démarrer un site à vocation communautaire Demandes d'avis et de conseils sur vos sites 7 Août 2009