.TH IM_EXTRACT 3 "11 April 1990"
.SH NAME
im_extract_areabands, im_extract_bands, im_extract_area \- extract a portion of an image
.SH SYNOPSIS
.B #include <vips/vips.h>

int im_extract_areabands( IMAGE *in, IMAGE *out, 
.br
  int left, int top, int width, int height, int band, int nbands )

int im_extract_area( IMAGE *in, IMAGE *out,
.br
  int left, int top, int width, int height )

int im_extract_bands( IMAGE *in, IMAGE *out, 
.br
  int chsel, int nbands )

.SH DESCRIPTION
.B im_extract_areabands(3) 
extracts the rectangular portion of the image defined by 
.B left, 
.B top, 
.B width,
and
.B height of image 
.B in 
and writes the result to image 
.B out. 
The area must lie entirely within in the image. Selects the set of 
.B nbands
bands 
starting at band number
.B band
(numbering bands from zero).

Works for any size image, any number of bands, any type. Works for LABPACK
coded images too! But disallows band extraction in this case.

.B im_extract_area(3) 
is a convenience function which extracts an area from an
image, leaving the bands the same.

.B im_extract_bands(3) 
takes 
.B nbands
out of an image, starting from band
.B band.
So, for example, nbands == 2, bands == 1 will form a two band image from an RGB
image, where the two bands are the G and the B bands.

.SH RETURN VALUE
The function returns 0 on success and -1 on error.
.SH SEE ALSO
im_insert(3), im_lrjoin(3), im_lrmerge(3), im_stats(3),
im_region_region(3).
.SH COPYRIGHT
J. Cupitt,
.SH AUTHOR
J. Cupitt \- 11/04/1990
