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

  FORUM HardWare.fr
  Programmation
  PHP

  php-GD iprob saturation de palette imagecoloralocate ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

php-GD iprob saturation de palette imagecoloralocate ??

n°1107543
Gat$
http://www.wowteamfinder.com
Posté le 03-06-2005 à 18:57:16  profilanswer
 

Bonjour,
 
je vais pas copier coller mon code je vais juste expliquer mon problème.
 
Je crée une image jpeg, et j'ecris un simple texte. Bleu sur orange.
Lorsque j'affiche l'image elle sort niquel. Ok. Pas de prob.
 
Maintenant je veux faire un effet sur les pixels cad je veux faire une espece de neige la dessus. Pas de prob je sais comment faire au point de vue de l'algo. MAIS, ce qu'il se produit c'est lorsque je recupere la couleur du pixel, et que je reecris meme cette meme valeur. Il prend le fond, mais pas le texte qui a ete ecris dedans!?
 
Alors ma question est, est-ce que php considere que le texte ajouté dans l'image comme du texte?!?! (incohérent selon moi) et donc il ne prend en compte que le background ?  
 
J'pige pas :'(
 
Moi je veux juste lire un pixel et le transformer suivant sa couleur, c tout. Me dite pas qu'y'a pas moyen!
 
J'utilise les fonctions : imagecolorsforindex() et imagecolorat() pour recup la couleur et la rendre humainement lisible.
 
Ensuite pour changer le pixel j'utilise imagesetpixel()
 
Voila.
 
Merci d'avance


Message édité par Gat$ le 03-06-2005 à 19:46:09
mood
Publicité
Posté le 03-06-2005 à 18:57:16  profilanswer
 

n°1107547
Gat$
http://www.wowteamfinder.com
Posté le 03-06-2005 à 19:00:00  profilanswer
 

Bon je vais quand meme copier coller mon code au cas ou car, le truc encore plus fou c'est que si j'affiche la valeur (la couleur) du pixel lu, la couleur change!!!!!!!!!!!!! Donc je recup bien la bonne couleur des != pixels?!  
 
M'enfin je deviens fou ou quoi  :lol:  
 
Lisez le code a partir de la ligne 28, ce qu'il ya au dessus fonctionne tres bien.
 
 

Code :
  1. <?
  2. // Config
  3. $nbchar=6;
  4. $allowed_chars='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
  5. // Header
  6. header ("Content-type: image/jpeg" );
  7. // Creation de l'image et config
  8. $im = ImageCreate (92,30);
  9. $im2 = ImageCreate (92,30);
  10. $background_color = ImageColorAllocate ($im, 255, 222, 144) ;
  11. $ecriture_color[0] = ImageColorAllocate ($im, 220, 190, 95) ;
  12. $ecriture_color[1] = ImageColorAllocate ($im, 22, 99, 255) ;
  13. // Génération du code aleatoire
  14. srand( ((int)((double)microtime()*1000003)) );
  15. for($i=1; $i<=$nbchar; $i++) {
  16.  $rnd = rand(0, strlen($allowed_chars)-1).'-'; //
  17.  $char = substr($allowed_chars, $rnd,1);
  18.  for($j=0; $j<2; $j++) {
  19.   imagestring ($im, 5, ($i*12)+$j, (7+rand(-3, 3)+$j), $char, $ecriture_color[$j]);
  20.  }
  21. }
  22. // Ajout de neige
  23. for($x=0; $x<92; $x++) {
  24.  for($y=0; $y<30; $y++) {
  25.   $rgb = imagecolorsforindex($im, imagecolorat($im, $x, $y));
  26.   $r=$rgb['red']; // +rand(-4, +4);
  27.   $g=$rgb['green']; // +rand(-4, +4);
  28.   $b=$rgb['blue']; // +rand(-4, +4);
  29.   $color_neige = imagecolorallocate ($im2, $r, $g, $b) ;
  30.   imagesetpixel($im2, $x, $y, $color_neige);
  31.   unset($color_neige);
  32.   //echo "$r, $g, $b<br>";
  33.  }
  34. }
  35. imagejpeg ($im2);
  36. ?>


 
 
edit: le $im2 c'etait pour tester, mais je pense pa que ca soit utile ;) car ca change rien tfacon
 
 
 
edit 2 :  
 
Voila une partie de resultats quand j'affiche les 3 couleur r v b !


255, 222, 144
255, 222, 144
255, 222, 144
22, 99, 255
255, 222, 144
255, 222, 144
255, 222, 144
255, 222, 144
255, 222, 144
255, 222, 144
255, 222, 144
255, 222, 144
22, 99, 255
255, 222, 144
255, 222, 144


 
On constate qu'il ya de grosse variance de couleur et donc je ne devrais pas avoir un bete carré orange !!!! HELP je vais peter un cable  [:mlc]  :pt1cable:


Message édité par Gat$ le 03-06-2005 à 19:16:17
n°1107560
Gat$
http://www.wowteamfinder.com
Posté le 03-06-2005 à 19:30:37  profilanswer
 

Bon voici ce que ca donne quand je colle le texte a gauche
 
http://www.lacitrouille.com/code.php
 
il fait ne fait une partie de l'image mais pas le reste alros que ma double boucle X et Y balaie bien toute l'image, dite moi si je me trompe..??????????
 
:(

n°1107568
Gat$
http://www.wowteamfinder.com
Posté le 03-06-2005 à 19:35:51  profilanswer
 

En fait j'ai l'impression que je sature la palette de couleur mais que faire d'autre a part imagecolorallocate () ?????
 
c fou ce truc :( HELPPPPPPPPPPPPPPPP :'( :'(

n°1107579
Gat$
http://www.wowteamfinder.com
Posté le 03-06-2005 à 19:43:34  profilanswer
 

Bon j'arrive +- a contourner le probleme en faisant :  
 

Code :
  1. // Ajout de neige
  2. for($x=0; $x<92; $x++) {
  3.  for($y=0; $y<30; $y++) {
  4.   $rgb = imagecolorsforindex($im, imagecolorat($im, $x, $y));
  5.   $r=$rgb['red']; // +rand(-4, +4);
  6.   $g=$rgb['green']; // +rand(-4, +4);
  7.   $b=$rgb['blue']; // +rand(-4, +4);
  8.   if($r!=$s_r || $g!=$s_g || $b!=$s_b)
  9.    $color_neige = imagecolorallocate ($im, $r, $g, $b);
  10.   imagesetpixel($im, $x, $y, $color_neige);
  11.   //echo "$r, $g, $b<br>";
  12.   $s_r=$r;
  13.   $s_g=$g;
  14.   $s_b=$b;
  15.  }
  16. }


 
Mais il arrive une ofis sur 6 que la palette soit de nouveau saturée !
et alros l'image s'affiche pas en entier, comment contourner ce probleme?
 
C'est quand meme pas normal, si maintenant je veux faire des effet sur une image 1024*768 ? et changer la couelur de chaque pixel ?  
 
Comment faire pour que je sature pas le truc (parce que je c pas vraiment ce que je sature) ?
 
HELP !!!!!!!!!! :(

n°1107582
Gat$
http://www.wowteamfinder.com
Posté le 03-06-2005 à 19:53:16  profilanswer
 

Bon en imagecreatetruecolor ca passe :D :D :D
 
C'etait encore un épisode de Gat$ qui pete un cable et resoud le pb tt seul lol
 
A+

n°1107711
Killer_386
Posté le 03-06-2005 à 23:02:06  profilanswer
 

Bon bah c'était sympa de t'aider, j'allais te proposer imagecreatetruecolor justement :lol:.


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

  php-GD iprob saturation de palette imagecoloralocate ??

 

Sujets relatifs
[C++] VFW & création d'avi ... Problème de paletteCréer sa palette graphique en C (mode EGA 640/480);
Images. palette de couleurs + les regionsPalette couleur
Affichez un bitmap avec palette[JS] Afficher une palette de choix de couleur
Palette graphique & Toolbarfonction imap -> saturation du proc & de la RAM
PB de palettepalette sous sun XLIB
Plus de sujets relatifs à : php-GD iprob saturation de palette imagecoloralocate ??


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