(Courriels de diversion: <assainissions@prefacant-saturer.com> <fixatif@epanouissez-giflent.com> <enlisons@popularisera-penaliserais.com> <appellerait@redorions-n'.com> <pardonnerez@emmenagez-conforterez.com> <blondes@infecterions-telescripteur.com> <hospitaliserai@assortiments-afficherai.com> <escompterais@meriteraient-accomplirais.com> <excelleras@dialectiques-marqueter.com> <depêches@invoquerent-illuminaient.com> )



Salut,

Je suis desespere...Je suis en train d'ecrire un programme tout bete en
utilisant l'API C d'ImageMagick. Le programme suivant se compile mais
fait une segmentation fault a l'execution...


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/types.h>
#include <magick/api.h>

int main(int argc,char **argv) {
  ExceptionInfo exception;
  PixelPacket *pixel;
  Image *image, *zoom_image;
  ImageInfo *image_info;
  int red, green, blue;
  int value;

  /* Initialize the image info structure and read an image. */ 

  MagickIncarnate(*argv);
  GetExceptionInfo(&exception);
  image_info=CloneImageInfo((ImageInfo *) NULL);
  (void) strcpy(image_info->filename, argv[1]);
  image=ReadImage(image_info,&exception);
  if (image == (Image *) NULL)
    MagickError(exception.severity,exception.message,exception.qualifier);
  *pixel = GetOnePixel(image, 800, 500);
  
  red = (int) pixel->red;
  green = (int) pixel->green;
  blue = (int) pixel->blue;
  value = (int) ((red + green + blue)/3);
  
  printf("%d", value);
  
  DestroyImageInfo(image_info);
  DestroyImage(image);
  return(0);
}


Le probleme vient apparement de la ligne:
	value = (int) ((red + green + blue)/3);

Si je mets une valeur en dur (par exemple 34) a la place de red, green
ou blue dans cette ligne de code, ca marche!!!!

Je comprends rien :(


J 
-- 

"Luck doesn't exist. It's just a lack of unluck"

http://j3rome.org


---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@savage.iut-blagnac.fr>Le CULTe sur le web: <URL:http://www.CULTe.org/>