Man Linux: Main Page and Category List

NAME

       IM_IMAGE_ADDR,       IM_IMAGE_SIZEOF_ELEMENT,      IM_IMAGE_SIZEOF_PEL,
       IM_IMAGE_SIZEOF_LINE, IM_IMAGE_N_ELEMENTS - macros for images

SYNOPSIS

       #include <vips/vips.h>

       int IM_IMAGE_SIZEOF_ELEMENT( im )
       IMAGE *im;

       int IM_IMAGE_SIZEOF_PEL( im )
       IMAGE *im;

       int IM_IMAGE_SIZEOF_LINE( im )
       IMAGE *im;

       int IM_IMAGE_N_ELEMENTS( im )
       IMAGE *im;

       char *IM_IMAGE_ADDR( im, x, y )
       IMAGE *im;
       int x;
       int y;

DESCRIPTION

       These macros help to simplify address arithmetic for images.

       IM_IMAGE_SIZEOF_ELEMENT(3) returns sizeof( one band element ).

       IM_IMAGE_SIZEOF_PEL(3) returns sizeof( one pel ).

       IM_IMAGE_SIZEOF_LINE(3) returns sizeof( one horizontal line of pels  ).

       IM_IMAGE_N_ELEMENTS(3)  returns  the  number  of band elements across a
       horizontal line.

        returns a pointer to the pixel at  position  (x,y)  in
       the image. The point (x,y) should lie within the image.

       If  the  macro  DEBUG has been defined, then  will also
       perform bounds checking. If you ask for the address of  a  pel  outside
       the  image,  then    will print an error message of the
       form:

           IM_IMAGE_ADDR: point out of bounds, file "test.c", line 18
           (point x=50, y=0
            should have been within Rect left=0, top=0, width=50, height=50)

       and call abort(3).

       DEBUG needs to be defined *before* vips.h is  included.  Either  define
       DEBUG  with  -D  in your Makefile, or have a #define DEBUG right at the
       top of your file.

COPYRIGHT

       National Gallery, 1993

SEE ALSO

       IM_REGION_ADDR(3), im_malloc(3), im_open_local(3).

AUTHOR

       J. Cupitt - 23/7/93

                                 11 April 1990                       MACROS(3)