[ PHP ] passer un jpg en noir et blanc

passer un jpg en noir et blanc [ PHP ] - PHP - Programmation

Marsh Posté le 02-03-2003 à 01:01:53    

j aimerai faire une fonction qui passerai le fichier jpg demandé en noir et blanc ( mais juste temporairment avec un header par exemple )


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 02-03-2003 à 01:01:53   

Reply

Marsh Posté le 02-03-2003 à 01:17:48    

Reply

Marsh Posté le 02-03-2003 à 01:40:35    

je fais planter appache avec un imagecopymergegrey, help


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 02-03-2003 à 01:43:01    


quel est ton code ?

Reply

Marsh Posté le 02-03-2003 à 11:19:29    

tu peux regarder du côté de GD sinon

Reply

Marsh Posté le 02-03-2003 à 11:19:53    

Code :
  1. header("Content-Type: image/jpg" );
  2. $RVB=imagecreatefromjpeg($img);
  3. $taille=getimagesize($img);
  4. $NB=imagecreatefromjpeg($img);
  5. imagecopymergegray($NB,$RVB,0,0,0,0,$taille[0],$taille[1],100);
  6. imagejpeg($NB);


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 02-03-2003 à 11:31:12    

umm ds la doc, ya des exemples pr passer en nivo de gris ...
 
theviruskiller at hotmail dot com
07-Aug-2001 08:44  
 
Does anybody know a function to convert a 32bit JPEG image to greyscale? I've tried to do it myself by calculating the luminence value of each color and connecting that value to a grey value, but this doesn't work properly. Any suggestions??
 
 
eric at spiderws dot com
12-Aug-2001 11:45  
 
This little function does it for you:  
 

Code :
  1. <?
  2. $image_id = imageCreateFromJPEG($image);
  3. for($a=0;$a<imagecolorstotal ($image_id);$a++)
  4. {
  5. $color = ImageColorsForIndex($image_id,$i);
  6. $R=.299 * ($color['red'])+ .587 * ($color['green'])+ .114 * ($color['blue']);
  7. $G=.299 * ($color['red'])+ .587 * ($color['green'])+ .114 * ($color['blue']);
  8. $B=.299 * ($color['red'])+ .587 * ($color['green'])+ .114 * ($color['blue']);
  9. ImageColorSet($image_id, $a, $R, $G, $B);
  10. }
  11. imageJPEG($image_id,"$image" );
  12. ?>


The .299 , .578 , .114 values are estimations, and add a gamma correction to the colors. For more or less luminace in the result, you can change these values.  
 
Goodluck,  
Eric Mulders, Netherlands
 
 
rossa at studioware dot net
23-Jan-2002 08:38  
 

Code :
  1. function ConvertGreyscale($image){
  2. # this file outputs a grey version of specified image
  3. $total = ImageColorsTotal($image);
  4. for( $i=0; $i<$total; $i++){
  5.     $old = ImageColorsForIndex($image, $i);
  6.    
  7.     #trying to keep proper saturation when converting
  8.     $commongrey = (int)(($old[red] + $old[green] + $old[blue]) / 3);
  9.     ImageColorSet($image, $i, $commongrey, $commongrey, $commongrey);
  10. }
  11. }


 
http://www.php.net/manual/fr/funct [...] ecolor.php

Reply

Marsh Posté le 02-03-2003 à 12:29:32    

J-'-R a écrit :


header("Content-Type: image/jpg" );
$img = "chemin de ton image";//au cas ou t'aurais oublié  :o  
$RVB=imagecreatefromjpeg($img);
$taille=getimagesize($img);
$NB=imagecreatefromjpeg($img);
imagecopymergegray($NB,$RVB,0,0,0,0,$taille[0],$taille[1],0);//avec 100 les couleurs sont conservées, plus on va vers 0 plus elles seront grisées
imagejpeg($NB);


 
imaginons que ce code se trouve dans la page gris.php,
tu dois ensuite l'appeler dans une autre page de la manière suivante :
 
<img src="gris.php">
 
la page gis.php sert d'image et doit être appelée comme telle


Message édité par captain_planet le 02-03-2003 à 12:30:23
Reply

Marsh Posté le 02-03-2003 à 14:27:03    

captain_planet a écrit :


 
imaginons que ce code se trouve dans la page gris.php,
tu dois ensuite l'appeler dans une autre page de la manière suivante :
 
<img src="gris.php">
 
la page gis.php sert d'image et doit être appelée comme telle


 
j avais pas oublié $img, c'est un parametre dans l url normalement genre appel du fichier <img src="gris.php3?img=test.jpg" />
 
mais le pb, c'est que ca charge... ca charge... et l image n apparait pas, il y a une image vide ( meme pas blache ) de la bonne taille ... ca charge encore et encore et ca plante appache :(
 
je v essayer le code ci-dessus


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 02-03-2003 à 14:30:54    

de plus je prefererais utiliser une fonction toute faite que faire une boucle sur chaque couleurs pour la metre en gris...
sinon je vous dis pas les resources et temps de calcul :(


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 02-03-2003 à 14:30:54   

Reply

Marsh Posté le 03-03-2003 à 17:01:19    

:bounce: help


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 03-03-2003 à 17:10:59    

je sais pas ce que je veux faire, mais si limage doit safficher plusieurs fois genre miniature, on la calcule une fois et on la stocke ds un fichier genre mini_image.
Si le fichier miniature est present, direct chargement du fichier, sinon calcul et apres seulement chargement. Le temps de calcul importe ds ce cas peu puisque cest fait une bonne fois pr toute.

Reply

Marsh Posté le 03-03-2003 à 17:18:53    

J-'-R a écrit :

Code :
  1. header("Content-Type: image/jpg" );
  2. $RVB=imagecreatefromjpeg($img);
  3. $taille=getimagesize($img);
  4. $NB=imagecreatefromjpeg($img);
  5. imagecopymergegray($NB,$RVB,0,0,0,0,$taille[0],$taille[1],100);
  6. imagejpeg($NB);




ce code là marche parfaitement chez moi, alors c ptête un problème dû au serveur  :heink:  
 
t'as quoi comme erreur ?
 

Reply

Marsh Posté le 03-03-2003 à 18:06:34    

appache a rencontré une erreur et doit etre fermer... blablabla


 
en effet :(


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 03-03-2003 à 19:42:19    

t'as bien la librairie gd d'installée ?

Reply

Marsh Posté le 03-03-2003 à 21:43:00    

ben il l'a forcément, sinon php aurait gueulé!

Reply

Marsh Posté le 04-03-2003 à 17:22:19    

arghbis a écrit :

ben il l'a forcément, sinon php aurait gueulé!


oui
 

GD Support enabled  
GD Version 2.0 or higher  
FreeType Support enabled  
FreeType Linkage with freetype  
JPG Support enabled  
PNG Support enabled  
WBMP Support enabled


---------------
Perdu ? Vous êtes ici : --> *
Reply

Sujets relatifs:

Leave a Replay

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