blob: a4131c6604fba8da2784a481a1249dc81fd47765 [file] [log] [blame]
.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).