--- psiconv/trunk/program/psiconv/gen_image.c 2000/02/04 20:33:51 48 +++ psiconv/trunk/program/psiconv/gen_image.c 2000/07/14 20:44:40 49 @@ -27,13 +27,32 @@ #include /* This is ridiculously simple using ImageMagick. Without it, it would - be quite somewhat harder - it will be left for later on */ + be quite somewhat harder - it will be left for later on. + Note that we ignore any errors. Dangerous... */ static Image *get_paint_data_section(psiconv_paint_data_section sec) { Image *image; - image = CreateImage(sec->xsize,sec->ysize,sec->red,sec->green, - sec->blue,NULL); + float *pixel, *p, *red, *green, *blue; + int x,y; + ExceptionInfo *exc; + + GetExceptionInfo(exc); + red = sec->red; + green = sec->green; + blue = sec->blue; + p = pixel = malloc(sec->xsize * sec->ysize * 3 * sizeof(float)); + for (y = 0; y < sec->ysize; y++) { + for (x = 0; x < sec->xsize; x++) { + *p++ = *red++; + *p++ = *green++; + *p++ = *blue++; + } + } + image = ConstituteImage(sec->xsize,sec->ysize,"RGB",FloatPixel,pixel,exc); + free(pixel); + DestroyExceptionInfo(exc); + return image; }