gifimg.c

Go to the documentation of this file.
00001 #include "gifimg.h"
00002 #include "machine.h"
00003 #include "sciprint.h"
00004 
00005 void C2F(deallocategifimg)( gdImagePtr * im )
00006 {
00007   gdImageDestroy(*im);
00008 }
00009 
00010 void deallocateGifImg( gdImagePtr * im ) { C2F(deallocategifimg)( im ) ; }
00011 
00012 void C2F(readgifimg)( char * string, gdImagePtr * imgptr, int * m,int * n, int * ncol )
00013 {
00014   FILE *fd;
00015   gdImagePtr im;
00016 
00017   fd=fopen(string,"r");
00018     if (fd == 0) 
00019       {
00020         sciprint("Can't open file %s\n",string);
00021         return;
00022       }
00023   im = gdImageCreateFromGif(fd);
00024   if (im == 0) {
00025     *m = *n = -1;
00026     return;
00027       }
00028   *m = im->sy;
00029   *n = im->sx;
00030   *ncol = im->colorsTotal;
00031   *imgptr =im;
00032 }
00033 
00034 void readGifImg( char * string, gdImagePtr * imgptr, int * m, int * n, int * ncol) { C2F(readgifimg)( string, imgptr, m, n, ncol ) ; }
00035 
00036 void C2F(readxbmimg)( char * string, gdImagePtr * imgptr, int * m, int * n, int * ncol )
00037 {
00038   FILE *fd;
00039   gdImagePtr im;
00040 
00041   fd=fopen(string,"r");
00042     if (fd == 0) 
00043       {
00044         sciprint("Can't open file %s\n",string);
00045         return;
00046       }
00047   im = gdImageCreateFromXbm(fd);
00048   if (im == 0) {
00049     *m = *n = -1;
00050     return;
00051       }
00052   *m = im->sy;
00053   *n = im->sx;
00054   *ncol = im->colorsTotal;
00055   *imgptr =im;
00056 }
00057 
00058 void readXbmImg( char * string, gdImagePtr * imgptr, int * m, int * n, int * ncol) { C2F(readxbmimg)( string, imgptr, m, n, ncol ) ; }
00059 
00060 void C2F(getgifpixels)( gdImagePtr * imgptr, unsigned char * pixels )
00061 {
00062   int i,m,n,x,y;
00063   gdImagePtr im;
00064   im = *imgptr;
00065   m = im->sx;
00066   n = im->sy;
00067   i =0;
00068   for (x=0; (x<m); x++) {       
00069     for (y=0; (y<n); y++) {
00070       pixels[i] = im->pixels[y][x];
00071       i++;
00072     }
00073   }
00074 }
00075 
00076 void getGifPixels( gdImagePtr * imgptr, unsigned char * pixels ) { C2F(getgifpixels)( imgptr, pixels ) ; }
00077 
00078 void C2F(getgifcmap)( gdImagePtr * imgptr, unsigned char * cmap )
00079 {
00080   int i,k, ncol;
00081   gdImagePtr im;
00082   im = *imgptr;
00083   
00084   ncol = im->colorsTotal;
00085   k = 0;
00086   for (i=0; (i<ncol); i++) {
00087     cmap[k]        = im->red[i];
00088     cmap[ncol+k]   = im->green[i];
00089     cmap[2*ncol+k] = im->blue[i];
00090     k++;
00091   }
00092 }
00093 
00094 void getGifCmap( gdImagePtr * imgptr, unsigned char * cmap ) { C2F(getgifcmap)( imgptr, cmap ) ; }

Generated on Sun Mar 4 15:03:51 2007 for Scilab [trunk] by  doxygen 1.5.1