manpagez: man pages & more
man im_lineset(3)
Home | html | info | man
IM_AND(3)                                                            IM_AND(3)




NAME

       im_paintrect,  im_plotmask,  im_readpoint,  im_plotpoint,  im_fastline,
       im_fastlineuser - suck pels up, and paint them down somewhere else


SYNOPSIS

       #include <vips/vips.h>

       int im_readpoint( im, x, y, ink )
       IMAGE *im;
       int x, y;
       PEL *ink;

       int im_plotpoint( im, x, y, ink )
       IMAGE *im;
       int x, y;
       PEL *ink;

       int im_plotmask( im, ix, iy, ink, mask, r )
       IMAGE *im;
       int ix, iy;
       PEL *ink;
       PEL *mask;
       Rect *r;

       int im_paintrect( im, r, ink )
       IMAGE *im;
       Rect *r;
       PEL *ink;

       int im_fastline( im, x1, y1, x2, y2, ink )
       IMAGE *im;
       int x1, y1, x2, y2;
       PEL *ink;

       int im_fastlineuser( im, x1, y1, x2, y2,
           plot_fn, client1, client2, client3 )
       IMAGE *im;
       int x1, y1, x2, y2;
       int (*plot_fn)();
       void *client1, *client2, *client3;

       int plot_fn( im, x, y, client1, client2, client3 )
       IMAGE *im;
       int x, y;
       void *client1, *client2, *client3;

       int im_lineset( IMAGE *in, IMAGE *out, IMAGE *mask, IMAGE *ink,
         int n, int *x1v, int *y1v, int *x2v, int *y2v )



DESCRIPTION

       im_readpoint(3) sucks a pel from position  (x,y)  into  a  buffer;  all
       other  functions  paint  that  buffer back again in various ways. These
       functions will work for an image  of  any  type,  since  they  rely  on
       im_readpoint(3)  for  their  data. If you read a pel from one image and
       paint with it to another, it is your responsibility to check  that  the
       two images have identical pels.

       All these functions are `in place,' that is, they write directly to the
       output image! Be very careful, you can destroy data.

       im_plotmask(3) takes an array of 0/255s and a Rect describing the  size
       and  offset of the array. It adds (ix,iy) to the array offset, and then
       paint pels into all array positions which are non-zero. Rect  need  not
       lie inside the image - the function clips carefully at the edges.

       im_paintrect(3) fills the rectangle described with ink. The Rect can be
       any size and at any position - the function clipps against the edges of
       the image.

       im_fastline(3)  is  a replacement for im_line(3) which plots the speci-
       fied ink in the image. The start  and  end  points  must  lie  entirely
       inside the image.

       im_fastlineuser(3)  does  not plot points, instead it calls a user plot
       function for every position along the line. There is no clipping -  the
       endpoints  may  be  anywhere  at  all.  Three client values are carried
       around and passed into the user function.

       im_lineset(3) copies the image and draws a set of lines  on  the  copy.
       The  lines  are  drawn using the mask image as a brush to apply the ink
       image. Useful for nip2.



RETURN VALUE

       All functions return 0 on success and -1 on error.


SEE ALSO

       im_insertplace(3), im_smudge(3).


COPYRIGHT

       National Gallery, 1992


AUTHOR

       J. Cupitt



                                30 October 1992                      IM_AND(3)

im_paintrect 7.14.5 - Generated Sun Sep 7 09:18:56 CDT 2008
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.