8.3. Interface Definitions for libpng12

Table of Contents
png_access_version_number -- return version of the run-time library
png_check_sig -- INSERT PURPOSE HERE
png_convert_from_struct_tm -- convert struct tm to png_time
png_convert_from_time_t -- convert time_t to png_time
png_create_info_struct -- allocate and initialize a png_info structure
png_create_read_struct -- allocate and initialize a png_struct structure for reading PNG file
png_create_read_struct_2 -- register custom read function
png_create_write_struct -- allocate and initialize a png_struct structure for writing PNG file
png_create_write_struct_2 -- register custom write function
png_data_freer -- change the default behavior for freeing data
png_destroy_info_struct -- free memory in PNG info structure
png_destroy_read_struct -- free the memory associated with read png_struct
png_destroy_write_struct -- free the memory associated with write png_struct
png_error -- default function to handle fatal errors
png_free -- free a pointer allocated by png_malloc()
png_free_data -- free internally allocated data
png_get_IHDR -- get PNG_IHDR chunk information from png_info structure
png_get_PLTE -- get image palette information from png_info structure
png_get_bKGD -- get background color for given image
png_get_bit_depth -- return image bit_depth
png_get_cHRM -- get CIE chromacities and referenced white point for given image
png_get_channels -- get number of color channels in image
png_get_color_type -- return image color type
png_get_error_ptr -- return error_ptr for user-defined functions
png_get_gAMA -- get the gamma value for given image
png_get_hIST -- get the histogram for given image
png_get_header_ver -- get version information for libpng header files
png_get_iCCP -- get the embedded ICC profile data for given image
png_get_image_height -- return image height
png_get_image_width -- return image width
png_get_interlace_type -- returns interlace method
png_get_io_ptr -- return pointer for user-defined I/O
png_get_libpng_ver -- get the library version string
png_get_oFFs -- get screen offsets for the given image
png_get_pHYs -- get the physical resolution for given image
png_get_progressive_ptr -- return pointer to user-defined push read functions
png_get_rowbytes -- Return number of bytes for a row
png_get_rows -- retrieve image data from png_info structure
png_get_sBIT -- get number of significant bits for each color channel
png_get_sRGB -- get the rendering intent for given image
png_get_tIME -- get last modification time for the image
png_get_tRNS -- get transparency data for images
png_get_text -- get comments information from png_info structure
png_get_unknown_chunks -- retrieve the unknown chunks from a PNG file
png_get_user_chunk_ptr -- get pointer to user chunk data
png_get_valid -- determine if given chunk data is valid
png_get_x_offset_pixels -- return x offset in pixels from oFFs chunk
png_get_x_pixels_per_meter -- return horizontal pixel density per meter
png_get_y_offset_pixels -- return y offset in pixels from oFFs chunk
png_get_y_pixels_per_meter -- return vertical pixel density per meter
png_info_init_3 -- initialize an info structure (DEPRECATED)
png_init_io -- initialize input/output for the PNG file
png_libpng_ver -- external variable holding version number of libpng
png_malloc -- allocate memory
png_permit_mng_features -- enable MNG extensions for PNG image wrapped in MNG datastream
png_process_data -- read PNG file progressively
png_progressive_combine_row -- combines current row data with processed row
png_read_end -- read the end of PNG file
png_read_image -- read the entire image into memory
png_read_info -- read the PNG image information
png_read_png -- read the entire PNG file
png_read_row -- read a row of image data
png_read_rows -- read multiple rows of image data
png_read_update_info -- update png_info structure
png_set_IHDR -- set the PNG_IHDR chunk information
png_set_PLTE -- set color values for the palette
png_set_bKGD -- set the background color for given image
png_set_background -- set the background for given image
png_set_bgr -- set pixel order to blue, green, red
png_set_cHRM -- set CIE chromacities and referenced white point for given image
png_set_compression_buffer_size -- set the size of the compression buffer
png_set_compression_level -- set image compression level
png_set_compression_mem_level -- set how much memory to use for the internal state during PNG compression
png_set_compression_method -- set PNG compression algorithm
png_set_compression_strategy -- set PNG compression strategy
png_set_compression_window_bits -- set PNG compression window size
png_set_dither -- turn on dithering to 8-bit
png_set_error_fn -- set user defined functions for error handling
png_set_expand -- set expansion transformation
png_set_filler -- add a filler byte to given image
png_set_filter -- set filtering method
png_set_gAMA -- set the gamma value for given image
png_set_gamma -- transform the image from file gamma to screen gamma
png_set_gray_1_2_4_to_8 -- set expansion transformation
png_set_gray_to_rgb -- expand the grayscale image to 24-bit RGB
png_set_hIST -- set the histogram of color palette
png_set_iCCP -- set ICC component
png_set_interlace_handling -- get the number of passes for image interlacing
png_set_invert_alpha -- invert the level of opacity of a PNG file
png_set_invert_mono -- reverse values for monochromicity
png_set_keep_unknown_chunks -- specify list of chunks and how to handle them
png_set_mem_fn -- install custom memory allocation functions
png_set_oFFs -- set screen offsets for given image
png_set_pHYs -- set physical resolution
png_set_packing -- expand image to 1 pixel per byte for bit-depths 1,2 and 4
png_set_packswap -- swap the order of pixels for packed-pixel image
png_set_palette_to_rgb -- set expansion transformation
png_set_progressive_read_fn -- set progressive read callback functions
png_set_read_fn -- set user-defined function for reading a PNG stream
png_set_read_user_chunk_fn -- install custom callback function to handle unknown chunks in the input stream
png_set_read_user_transform_fn -- install a custom input transformation callback function
png_set_rgb_to_gray -- reduce 24-bit RGB to grayscale image
png_set_rows -- put image data in png_info structure
png_set_sBIT -- set number of significant bits for each channel
png_set_sRGB -- set the rendering intent for given image
png_set_sRGB_gAMA_and_cHRM -- set rendering intent, gamma values, and CIE chromaticities of a PNG file
png_set_shift -- shift pixel values to valid bit-depth
png_set_sig_bytes -- number of bytes read from PNG file
png_set_strip_16 -- strip 16 bit PNG file to 8 bit depth
png_set_strip_alpha -- remove alpha channel on the given image
png_set_swap -- swap byte-order for 16 bit depth files
png_set_swap_alpha -- swap image data from RGBA to ARGB format
png_set_tIME -- set last modification time for the image
png_set_tRNS -- set transparency values for images
png_set_tRNS_to_alpha -- set expansion transformation
png_set_text -- stores information for image comments
png_set_unknown_chunk_location -- set the location of an unknown chunk in a PNG file
png_set_unknown_chunks -- insert unknown chunks into a PNG file
png_set_write_fn -- set user-defined function for writing a PNG stream
png_set_write_status_fn -- install custom callback function to be called after row is written
png_set_write_user_transform_fn -- install a custom output transformation callback function
png_sig_cmp -- match the PNG signature
png_start_read_image -- start reading a PNG file
png_warning -- default function to handle non-fatal errors
png_write_chunk -- write a PNG chunk
png_write_end -- write the end of a PNG file
png_write_flush -- flush the current output buffers
png_write_image -- write the given image data
png_write_info -- write PNG information to file
png_write_png -- write the entire PNG file
png_write_row -- write a row of image data
png_write_rows -- write multiple rows of image data

The interfaces defined on the following pages are included in libpng12 and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.

Other interfaces listed in Section 8.1 shall behave as described in the referenced base document.