<!-- manual page source format generated by PolyglotMan v3.2, --> <!-- available at http://polyglotman.sourceforge.net/ --> <html> <head> <title>IM_AND(3) manual page</title> </head> <body bgcolor='white'> <a href='#toc'>Table of Contents</a><p> <h2><a name='sect0' href='#toc0'>Name</a></h2> im_paintrect, im_plotmask, im_readpoint, im_plotpoint, im_fastline, im_fastlineuser - suck pels up, and paint them down somewhere else <h2><a name='sect1' href='#toc1'>Synopsis</a></h2> <b>#include <vips/vips.h></b> <p> int im_readpoint( im, x, y, ink ) <br> IMAGE *im; <br> int x, y; <br> PEL *ink; <p> int im_plotpoint( im, x, y, ink ) <br> IMAGE *im; <br> int x, y; <br> PEL *ink; <p> int im_plotmask( im, ix, iy, ink, mask, r ) <br> IMAGE *im; <br> int ix, iy; <br> PEL *ink; <br> PEL *mask; <br> Rect *r; <p> int im_paintrect( im, r, ink ) <br> IMAGE *im; <br> Rect *r; <br> PEL *ink; <p> int im_fastline( im, x1, y1, x2, y2, ink ) <br> IMAGE *im; <br> int x1, y1, x2, y2; <br> PEL *ink; <p> int im_fastlineuser( im, x1, y1, x2, y2, <br> plot_fn, client1, client2, client3 )<br> <br> IMAGE *im; <br> int x1, y1, x2, y2; <br> int (*plot_fn)(); <br> void *client1, *client2, *client3; <p> int plot_fn( im, x, y, client1, client2, client3 ) <br> IMAGE *im; <br> int x, y; <br> void *client1, *client2, *client3; <p> int im_lineset( IMAGE *in, IMAGE *out, IMAGE *mask, IMAGE *ink, <br> int n, int *x1v, int *y1v, int *x2v, int *y2v )<br> <p> <h2><a name='sect2' href='#toc2'>Description</a></h2> <a href='im_readpoint.3.html'><b>im_readpoint(3)</a> </b> 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 <a href='im_readpoint.3.html'><b>im_readpoint(3)</a> </b> 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. <p> All these functions are ‘in place,’ that is, they write directly to the output image! Be very careful, you can destroy data. <p> <a href='im_plotmask.3.html'><b>im_plotmask(3)</a> </b> 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. <p> <a href='im_paintrect.3.html'><b>im_paintrect(3)</a> </b> 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. <p> <a href='im_fastline.3.html'><b>im_fastline(3)</a> </b> is a replacement for <a href='im_line.3.html'><b>im_line(3)</a> </b> which plots the specified ink in the image. The start and end points must lie entirely inside the image. <p> <a href='im_fastlineuser.3.html'><b>im_fastlineuser(3)</a> </b> 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. <p> <a href='im_lineset.3.html'><b>im_lineset(3)</b></a> 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. <p> <h2><a name='sect3' href='#toc3'>Return Value</a></h2> All functions return 0 on success and -1 on error. <h2><a name='sect4' href='#toc4'>See Also</a></h2> <a href='im_insertplace.3.html'>im_insertplace(3)</a> , <a href='im_smudge.3.html'>im_smudge(3)</a> . <h2><a name='sect5' href='#toc5'>Copyright</a></h2> <br> National Gallery, 1992 <h2><a name='sect6' href='#toc6'>Author</a></h2> J. Cupitt <p> <hr><p> <a name='toc'><b>Table of Contents</b></a><p> <ul> <li><a name='toc0' href='#sect0'>Name</a></li> <li><a name='toc1' href='#sect1'>Synopsis</a></li> <li><a name='toc2' href='#sect2'>Description</a></li> <li><a name='toc3' href='#sect3'>Return Value</a></li> <li><a name='toc4' href='#sect4'>SeeAlso</a></li> <li><a name='toc5' href='#sect5'>Copyright</a></li> <li><a name='toc6' href='#sect6'>Author</a></li> </ul> </body> </html>