.TH IM_PNG 3 "3 Jan 2003"
.SH NAME
im_png2vips, im_png2vips \- convert PNG images to and from VIPS format
.SH SYNOPSIS
#include <vips/vips.h>

int im_png2vips( const char *filename, IMAGE *out )

int im_vips2png( IMAGE *in, const char *filename ) 

.SH DESCRIPTION
.B im_png2vips(3) 
reads the png image in filename, and writes the image out
in VIPS format. 

.B im_vips2png(3) 
reads the image in and writes a PNG file to the specified
filename. The filename may include an optional mode string, following a ':'
character, which you can use to specify compression and interlace. 

The mode string has the following syntax:

  <compression>,<interlace>

where <compression> is an integer between 0 and 9 specifying the amount of
compression (6 is the default), and <interlace> is 0 for no interlace (this is
the default) and 1 for ADAM7 interlace. 

Beware that writing an interlaced image is potentially up to 7 times slower
than writing a non-interlaced image.

The image is automatically converted to RGB or Monochrome (with an optional
alpha channel) before saving. 

.SH EXAMPLES

The call:

  im_vips2png fred.v fred.png 

Writes a compression 6, uninterlaced PNG image. 

  im_vips2png fred.v fred.tif:,1

Writes an interlaced image. 

.SH SEE ALSO
im_open(3), im_vips2tiff(3)
.SH COPYRIGHT
Hey, you want this? You have it!
