problème avec un script

problème avec un script - PHP - Programmation

Marsh Posté le 28-07-2006 à 15:11:42    

Bon me revoilà :) Toujours dans le cadre de ma fonction, j'ai pompé un script permettant normalement de mettre en Sépia sauf que... rien ne se passe (pourtant le script est bien exécuté, un simple echo 'plop'; en cours de route le montre).
 
voilà le code :
 

Code :
  1. $colors_num=imagecolorstotal($dst_im);
  2. for($i=0;$i<$colors_num;$i++)
  3. {
  4. $color=imagecolorsforindex($dst_im,$i);
  5. $r = $color['red'];
  6. $g = $color['green'];
  7. $b = $color['blue'];
  8. $s = ($r+$g+$b)/3;
  9. $contrast = 20;
  10. $r = ($s*(100-$contrast)/100) + ($r*$contrast/100);
  11. $g = ($s*(100-$contrast)/100) + ($g*$contrast/100);
  12. $b = ($s*(100-$contrast)/100) + ($b*$contrast/100);
  13. $r = $r + ($r*49/100);
  14. $g = $g + ($g*45/100);
  15. if ($r > 255) {$r = 255;}
  16. if ($g > 255) {$g = 255;}
  17. if ($b > 255) {$b = 255;}
  18. imagecolorset($dst_im,$i,$r,$g,$b);
  19. }


 
Bon alors en fait j'ai identifié le problème, mais je ne comprend pas trop comment ca se fait : en tapant un echo sur $colors_num, j'obtiens 0...


Message édité par Yagmoth le 28-07-2006 à 15:16:39
Reply

Marsh Posté le 28-07-2006 à 15:11:42   

Reply

Marsh Posté le 28-07-2006 à 15:24:18    

Bon je viens de lire que imagecolorsforindex ne marche pas avec les .jpg... quelqu'un aurait t'il une solution ?

Reply

Marsh Posté le 28-07-2006 à 15:39:15    

tu dois pouvoir les transformer en png, et il me semble que cela dois fonctionner avec (à vérifier tout de même).

Reply

Marsh Posté le 28-07-2006 à 16:37:21    

Ca donne de mauvais résultat avec imagecreate(), je vois mal comment transformer les jpg en png.

Reply

Marsh Posté le 28-07-2006 à 17:00:15    

essaye en remplacant par imagecolorat() ;)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 18:46:12    

J'ai déjà essayé de faire un script à base de imagecolorat, le problème étant que le script est beaucoup trop long à exécuter si on s'amuser à changer l'image pixel par pixel :/

Reply

Marsh Posté le 28-07-2006 à 19:08:17    

alors c'est cuit [:spamafote]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 28-07-2006 à 19:09:02    

Snif :p

Reply

Marsh Posté le 28-07-2006 à 19:55:35    

Yagmoth a écrit :

J'ai déjà essayé de faire un script à base de imagecolorat, le problème étant que le script est beaucoup trop long à exécuter si on s'amuser à changer l'image pixel par pixel :/


 
Changer une image pixel par pixel ?  :whistle:  C'est pour quoi faire ?  :o  

Reply

Marsh Posté le 28-07-2006 à 20:13:49    

En fait ça va, ca fonctionne le pixel par pixel :D (j'avais du faire une connerie, je viens de réécrire une fonction qui marche).
 
@Hermes : ça me sert à appliquer un filtre sepia sur une image jpeg, comme il n'y a pas de palette, j'analyse la couleur de chaque pixel pour le retraiter.

Reply

Marsh Posté le 28-07-2006 à 20:13:49   

Reply

Marsh Posté le 28-07-2006 à 20:18:29    

Yagmoth a écrit :

En fait ça va, ca fonctionne le pixel par pixel :D (j'avais du faire une connerie, je viens de réécrire une fonction qui marche).
 
@Hermes : ça me sert à appliquer un filtre sepia sur une image jpeg, comme il n'y a pas de palette, j'analyse la couleur de chaque pixel pour le retraiter.


 
Si ton image fait ne serait-ce que du 1024/768, tu choperas un beau timeout et/ou tu mettras à genou le serveur... parce que mine de rien, ça fait une boucle de 786432 tours...  :o  
 
PHP ne sert pas à ça. C'est stupide comme démarche. Utilise imagemagick via PHP et exec par exemple...

Reply

Marsh Posté le 28-07-2006 à 20:22:08    

Disons que je fais une gallerie photos pour ma copine et que le script sera hébergé sur son pc pour son usage personnel, avant upload du résultat... Et en fait ça va, les images ne seront affichées qu'en 640x480, j'en ai pour à peu près 2s de traitement... je vais quand même jeter un oeil sur imagemagick voir ce que c'est ;)

Reply

Marsh Posté le 28-07-2006 à 20:32:33    

Yagmoth a écrit :

Disons que je fais une gallerie photos pour ma copine et que le script sera hébergé sur son pc pour son usage personnel, avant upload du résultat... Et en fait ça va, les images ne seront affichées qu'en 640x480, j'en ai pour à peu près 2s de traitement... je vais quand même jeter un oeil sur imagemagick voir ce que c'est ;)


 
Ah ben si le script est hébergé sur le PC de ta copine, je vois pas pourquoi tu te fais chier avec GD. Utilise n'importe quoi en ligne de commande via exec. [:spamafote]

Reply

Marsh Posté le 28-07-2006 à 20:43:54    

tu sais que les scripts existent sur photoshop ? :D
meme si elle y connait rien en un click paf
voire meme tout un dossier d un coup
enfin je dis ca je dis rien en meme temps ^^

Reply

Marsh Posté le 28-07-2006 à 22:03:19    

@hermes : j'avoue ne rien connaitre encore à exec donc... ;)
@mirror : mass traitement pas utile, elle va faire ses galeries au cas par cas... et le but est justement d'éviter d'ouvrir des softs en plus.

Reply

Marsh Posté le 28-07-2006 à 22:17:17    

Yagmoth a écrit :

@hermes : j'avoue ne rien connaitre encore à exec donc... ;)
@mirror : mass traitement pas utile, elle va faire ses galeries au cas par cas... et le but est justement d'éviter d'ouvrir des softs en plus.


 
Ya rien à connaitre pour exec. Tu lis la doc de PHP, ya des exemples, ça permet juste d'exécuter d'autres programmes se trouvant sur le serveur... Où est le problème ??  :??:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed