im_system(3) run a command on an image


#include <vips/vips.h>

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


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".


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


2000 The National Gallery and Birkbeck College