This section lists the source for im_extract()'s function
description. Almost all functions in the VIPS library have descriptors --
if you are not sure how to write a description, it's usually easiest to
copy one from a similar function in the library.
/* Args to im_extract.
*/
static im_arg_desc extract_args[] = {
IM_INPUT_IMAGE( "input" ),
IM_OUTPUT_IMAGE( "output" ),
IM_INPUT_INT( "left" ),
IM_INPUT_INT( "top" ),
IM_INPUT_INT( "width" ),
IM_INPUT_INT( "height" ),
IM_INPUT_INT( "channel" )
};
/* Call im_extract via arg vector.
*/
static int
extract_vec( im_object *argv )
{
IMAGE_BOX box;
box.xstart = *((int *) argv[2]);
box.ystart = *((int *) argv[3]);
box.xsize = *((int *) argv[4]);
box.ysize = *((int *) argv[5]);
box.chsel = *((int *) argv[6]);
return( im_extract(
argv[0], argv[1], &box ) );
}
/* Description of im_extract.
*/
static im_function extract_desc = {
"im_extract", /* Name */
"extract area/band", /* Descrip. */
IM_FN_PIO | IM_FN_TRANSFORM,
extract_vec, /* Dispatch */
NUMBER( extract_args ),/* # of arg */
extract_args /* Arg list */
};