![]() |
![]() |
![]() |
VIPS Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
conversionconversion — convert images in some way: change band format, change header, insert, extract, join |
#include <vips/vips.h> enum im_arch_type; gboolean im_isnative (im_arch_type arch); DOUBLEMASK * im_vips2mask (IMAGE *in, const char *out); int im_mask2vips (DOUBLEMASK *in, IMAGE *out); int im_copy_set (IMAGE *in, IMAGE *out, int type, float xres, float yres, int x, int y); int im_copy_set_meta (IMAGE *in, IMAGE *out, const char *field, GValue *meta); int im_copy_morph (IMAGE *in, IMAGE *out, int Bands, int BandFmt, int Coding); int im_copy (IMAGE *in, IMAGE *out); int im_copy_swap (IMAGE *in, IMAGE *out); int im_copy_from (IMAGE *in, IMAGE *out, im_arch_type architecture); int im_copy_file (IMAGE *in, IMAGE *out); int im_clip2fmt (IMAGE *in, IMAGE *out, int ofmt); int im_scale (IMAGE *in, IMAGE *out); int im_clip (IMAGE *in, IMAGE *out); int im_msb (IMAGE *in, IMAGE *out); int im_msb_band (IMAGE *in, IMAGE *out, int band); int im_c2amph (IMAGE *in, IMAGE *out); int im_c2rect (IMAGE *in, IMAGE *out); int im_ri2c (IMAGE *real_in, IMAGE *imag_in, IMAGE *out); int im_c2imag (IMAGE *in, IMAGE *out); int im_c2real (IMAGE *in, IMAGE *out); int im_c2ps (IMAGE *in, IMAGE *out); int im_scaleps (IMAGE *in, IMAGE *out); int im_falsecolour (IMAGE *in, IMAGE *out); int im_addgnoise (IMAGE *, IMAGE *, double ); int im_gaussnoise (IMAGE *, ..., ..., double , double ); int im_black (IMAGE *out, int width, int height, int bands); int im_text (IMAGE *out, const char *text, const char *font, int width, int alignment, int dpi); int im_extract_band (IMAGE *in, IMAGE *out, int band); int im_extract_bands (IMAGE *in, IMAGE *out, int band, int nbands); int im_extract_area (IMAGE *in, IMAGE *out, int x, int y, int w, int h); int im_extract_areabands (IMAGE *in, IMAGE *out, int left, int top, int width, int height, int band, int nbands); int im_embed (IMAGE *in, IMAGE *out, int type, int left, int top, int width, int height); int im_bandjoin (IMAGE *in1, IMAGE *in2, IMAGE *out); int im_gbandjoin (IMAGE **in, IMAGE *out, int n); int im_insert (IMAGE *main, IMAGE *sub, IMAGE *out, int x, int y); int im_insert_noexpand (IMAGE *main, IMAGE *sub, IMAGE *out, int x, int y); int im_insertset (IMAGE *main, IMAGE *sub, IMAGE *out, int n, int *x, int *y); int im_lrjoin (IMAGE *in1, IMAGE *in2, IMAGE *out); int im_tbjoin (IMAGE *in1, IMAGE *in2, IMAGE *out); int im_replicate (IMAGE *in, IMAGE *out, int across, int down); int im_grid (IMAGE *in, IMAGE *out, int tile_height, int across, int down); int im_wrap (IMAGE *in, IMAGE *out, int x, int y); int im_fliphor (IMAGE *in, IMAGE *out); int im_flipver (IMAGE *in, IMAGE *out); int im_rot90 (IMAGE *in, IMAGE *out); int im_rot180 (IMAGE *in, IMAGE *out); int im_rot270 (IMAGE *in, IMAGE *out); int im_subsample (IMAGE *in, IMAGE *out, int x, int y); int im_zoom (IMAGE *in, IMAGE *out, int x, int y); int im_system (IMAGE *im, const char *cmd, char **out);
These operations convert an image in some way. They can be split into a two main groups.
The first set of operations change an image's format in some way. You can change the band format (for example, cast to 32-bit unsigned int), form complex images from real images, convert images to matrices and back, change header fields, and a few others.
The second group move pixels about in some way. You can flip, rotate, extract, insert and join pairs of iamges in various ways.
typedef enum { IM_ARCH_NATIVE, IM_ARCH_BYTE_SWAPPED, IM_ARCH_LSB_FIRST, IM_ARCH_MSB_FIRST } im_arch_type;
int im_copy_set (IMAGE *in, IMAGE *out, int type, float xres, float yres, int x, int y);
int im_text (IMAGE *out, const char *text, const char *font, int width, int alignment, int dpi);
int im_extract_areabands (IMAGE *in, IMAGE *out, int left, int top, int width, int height, int band, int nbands);
int im_embed (IMAGE *in, IMAGE *out, int type, int left, int top, int width, int height);
The opposite of im_extract()
: embed an image within a larger image. flag
controls what appears in the new pels:
0 | black pels (all bytes == 0) |
1 | extend pels from image edge |
2 | repeat image |
3 | mirror image |
4 | white pels (all bytes == 255) |
|
input image |
|
output image |
|
how to generate the edge pixels |
|
place in at this x position in out
|
|
place in at this y position in out
|
|
out should be this many pixels across
|
|
out should be this many pixels down
|
Returns : |
0 on success, -1 on error. |