manpagez: man pages & more
man im_wrapmany(3)
Home | html | info | man
WRAPPERS(3)                                                        WRAPPERS(3)




NAME

       im_wrapone, im_wrapmany - easy interface to partial image IO system


SYNOPSIS

       #include <vips/vips.h>

       int im_wrapone( IMAGE *in, IMAGE *out,
           im_wrapone_fn fn, void *a, void *b )
       int im_wrapmany( IMAGE **in, IMAGE *out,
           im_wrapmany_fn fn, void *a, void *b )

       where

       typedef void (*im_wrapone_fn)( void *in, void *out, int n,
           void *a, void *b )
       typedef void (*im_wrapmany_fn)( void **in, void *out, int n,
           void *a, void *b )



DESCRIPTION

       These  functions  provide a simple way to use the VIPS partial image IO
       system, provided that your image processing function involves no  coor-
       dinate transformations, that is, that each output PEL depends only upon
       the corresponding PEL(s) in the input image(s).

       You should write your operation as a buffer processing function --- for
       example:

           static void
           invert_buffer( unsigned char *in, unsigned char *out,
               int width )
           {
               int x;

               for( x = 0; x < width; x++ )
                   *out++ = 255 - *in++;
           }

       This can now be turned into a full PIO image processing function by:

           int
           invert( IMAGE *in, IMAGE *out )
           {
               if( in->BandFmt != FMTUCHAR ||
                   in->Coding != NOCODING ||
                   in->Bands != 1 ) {
                   im_errormsg( "invert: bad input" );
                   return( -1 );
               }
               if( im_cp_desc( out, in ) )
                   return( -1 );
               if( im_wrapone( in, out,
                   (im_wrapone_fn) invert_buffer, NULL, NULL ) )
               return( 0 );
           }

       im_wrapmany(3)  works  as  im_wrapone(3), but allows many input images.
       All the inputs should be same Xsize and Ysize, but may  vary  in  type.
       The   array   of   input  images  should  be  NULL-terminated,  as  for
       im_start_many(3).



RETURN VALUE

       All int-valued functions return zero on success and non-zero on  error.


COPYRIGHT

       National Gallery, 1995


AUTHOR

       J. Cupitt - 9/2/95



                                 11 April 1990                     WRAPPERS(3)

im_wrapone 7.14.5 - Generated Tue Sep 9 10:33:40 CDT 2008
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.