im_system(3) run a command on an image

SYNOPSIS

#include <vips/vips.h>

int im_system(im, cmd, out)
IMAGE *im;
const char *cmd;
char **out;

DESCRIPTION

im_system() runs a command on an image, returning the command's output as a string. This string should be freed with im_free() when you've finished with it.

The command is executed with the system(3) call; the first '%s' in the command being substituted for a filename.

For example:

im_system( im, "vips2dj %s | lpr", &result )

will run the command vips2dj(1) on the image, piping the result to the printer.

If the IMAGE is a file on disc, then the filename will be the name of the real file. If the image is in memory, or the result of a computation, then a new file is created in the temporary area called something like "vips_XXXXXX", and that filename given to the command. The file is deleted when the command finishes.

The environment variable TMPDIR can be used to set the temporary directory. If it is not set, it defaults to "/tmp".

RETURN VALUE

The function returns 0 on success and -1 on error.

COPYRIGHT

2000 The National Gallery and Birkbeck College