Problème changer couleur image en PHP
                    
        
     
             
                    Authentiks
    
        
    
                    Messages postés
            
                
     
             
            16
        
            
                                    Statut
            Membre
                    
                -
                                     
tp -
        tp -
        Bonjour,
Voila j'aimerai changer la couleur des pixels d'une image suivant ce que l'utilisateur choisit dans la palette.
Alors j'ai trouvé un programme qui le fait pas trop mal. Le problème est qu'il change la couleur de l'image mise en exemple sur le site ( http://www.atelierphp.net/... losque je crée une image PNG, le changement de couleur ne fonctionne pas.
J'avoue être un peu perdu et pas trop comprendre le pourquoi du comment.
Je vous mets ci-dessous mon code:
Voila donc si vous pouvez m'expliquez pourquoi ce code fonctionne pour l'image accéssible dans le lien que je vous ai mis en intro et pas avec toutes les images PNG ?!
Merci beaucoup à tous!!
                
            
                
    
    
    
        Voila j'aimerai changer la couleur des pixels d'une image suivant ce que l'utilisateur choisit dans la palette.
Alors j'ai trouvé un programme qui le fait pas trop mal. Le problème est qu'il change la couleur de l'image mise en exemple sur le site ( http://www.atelierphp.net/... losque je crée une image PNG, le changement de couleur ne fonctionne pas.
J'avoue être un peu perdu et pas trop comprendre le pourquoi du comment.
Je vous mets ci-dessous mon code:
<?php
header("Content-type:image/png");
$red = $_GET['red']; 
$green=$_GET['green'] ; 
$blue=$_GET['blue']; 
$image_N=$_GET['img'];
if(isset($_GET['num_corps']))
		{$num_image_corps = $_GET['num_corps'];}
$imageFile = "images/".$image_N.".png"; 
$myImage = ImageCreateFromPNG($imageFile);
changeImageColor($myImage,$red,$green,$blue);
if($image_N<10){
imagePNG($myImage, "images/new_corps.png");
header("location: corps.php?change=Y&num_corps=".$image_N."");}
elseif($image_N<20){
imagePNG($myImage, "images/new_yeux.png");
header("location: yeux.php?change=Y&num_yeux=".$image_N."&num_corps=".$num_image_corps."");}
//--------------------------------------
function changeImageColor($myImage,$red,$green,$blue) 
{ 
    for($i=0;$i<imagecolorstotal($myImage);$i = $i+1) 
      { 
          $col=ImageColorsForIndex($myImage,$i); 
        //si la couleur est proche de noire on la met a NOIRE  
        if($col['red']<=20 AND $col['green']<=20 AND $col['blue']<=20) 
					{$red_set=0; $green_set=0;  $blue_set=0;}
		//nouvelle couleur = couleur_saisie + ancienne_couleur
		else{
			$red_set=($red+$col['red']);  
			$green_set=($green+$col['green']); 
			$blue_set=($blue+$col['blue']); 
			if ($red_set >255) $red_set=255; 
			if ($green_set>255)$green_set=255; 
			if ($blue_set>255)$blue_set=255;
			}
			
          imagecolorset($myImage,$i,$red_set,$green_set,$blue_set);
      } 
}
?>
Voila donc si vous pouvez m'expliquez pourquoi ce code fonctionne pour l'image accéssible dans le lien que je vous ai mis en intro et pas avec toutes les images PNG ?!
Merci beaucoup à tous!!
        A voir également:         
- Problème changer couleur image en PHP
- Changer dns - Guide
- Changer clavier qwerty en azerty - Guide
- Changer la couleur de la barre des taches - Guide
- Image iso - Guide
- Changer carte graphique - Guide
1 réponse
                        
                    Bonjour,
A priopri, l'image PNG doit être en mode couleurs indexées (il vous faut un logiciel de traitement d'images pour faire cette conversion, choisir : mode > couleurs indexées).
Je vous invite à lire la leçon correspondante pour en savoir plus :
Leçon N° 17 : Création / Manipulation des images
http://www.atelierphp.net/lesson_17_images/lesson_17.php
Cordialement
tp
    
                A priopri, l'image PNG doit être en mode couleurs indexées (il vous faut un logiciel de traitement d'images pour faire cette conversion, choisir : mode > couleurs indexées).
Je vous invite à lire la leçon correspondante pour en savoir plus :
Leçon N° 17 : Création / Manipulation des images
http://www.atelierphp.net/lesson_17_images/lesson_17.php
Cordialement
tp
