(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/>