| .TH IM_JPEG2VIPS 3 "6 June 1994" |
| .SH NAME |
| im_jpeg2vips, im_vips2jpeg, im_vips2bufjpeg, im_vips2mimejpeg \- convert JPEG images to and from VIPS format |
| .SH SYNOPSIS |
| #include <vips/vips.h> |
| |
| int im_jpeg2vips( char *filename, IMAGE *out ) |
| |
| int im_vips2jpeg( IMAGE *in, char *filename ) |
| |
| int im_vips2bufjpeg( IMAGE *in, IMAGE *base, char **obuf, int *olen ) |
| |
| int im_vips2mimejpeg( IMAGE *in ) |
| |
| .SH DESCRIPTION |
| .B im_jpeg2vips(3) |
| reads the named jpeg file and writes it to the specified |
| IMAGE. The entire image is read before returning. It can read most 8-bit JPEG |
| images, including CMYK. |
| |
| You can embed options in the filename. They have the form: |
| |
| filename.jpg:<shrink-factor>,<fail> |
| |
| .B shrink-factor |
| will shrink the image by that factor during read. Allowed values are 1, 2, 4 |
| and 8. Shrinking during read is very much faster than decompressing the whole |
| image and then shrinking. Example: |
| |
| fred.jpg:8 |
| |
| will return fred.jpg shrink by a factor of 8. |
| |
| .B fail |
| makes the JPEG reader fail on any warnings. This can be useful for detecting |
| truncated files, for example. Normally reading these produces a warning, but |
| no fatal error. Example: |
| |
| fred.jpg:,fail |
| |
| will read fred.jpg, failing with a fatal error if the file has been truncated. |
| |
| Any embedded ICC profiles are ignored: you always just get the RGB from the |
| file. Instead, the embedded profile will be attached to the image as metadata. |
| You need to use something like im_icc_import(3) to get CIE values from the |
| file. Any EXIF data is also attached as VIPS metadata. |
| |
| .B im_vips2jpeg(3) |
| writes the IMAGE to filename in JPEG format. It uses the |
| default settings of the IJG library. |
| |
| A compression factor may be encoded in the filename: for example, |
| "fred.jpg" will write with the default compression factor (75), |
| "fred.jpg:25" will write with factor 25. |
| |
| An ICC profile may also be specified. For example, |
| "fred.jpg:,/home/john/srgb.icc" will embed the profile stored in the file |
| "/home/john/srgb.icc" into the JPEG image. This does not affect the pixels |
| which are written, just the way they are tagged. You can use the special |
| string "none" to mean "don't attach a profile". |
| |
| If no profile is specified in the save string and the VIPS header contains an |
| ICC profile named IM_META_ICC_NAME ("icc-profile-data"), the |
| profile from the VIPS header will be attached. |
| |
| The image is automatically converted to RGB, Monochrome or CMYK before saving. |
| Any metadata attached to the image is saved as EXIF, if possible. |
| |
| .B im_vips2bufjpeg(3) |
| returns the compressed image in a memory buffer. The buffer |
| is allocated for you, local to IMAGE descriptor |
| .B base. |
| The size of the |
| allocated buffer is returned in the |
| .B olen |
| parameter. You are responsible for |
| freeing the buffer. The buffer is only allocated if the function returns |
| successfully. |
| |
| .B im_vips2mimejpeg(3) |
| writes the image to stdout as a MIME image/jpeg type. It |
| outputs Content-Length and Content-Type fields making the result suitable for |
| sending to a web browser. |
| |
| .SH SEE ALSO |
| im_open(3). |