NAME
libpng - Portable Network Graphics (PNG) Reference Library 1.2.46
SYNOPSIS
#include <png.h> *filter_type); png_uint_32 png_get_image_height (png_structp png_ptr, png_infop info_ptr); png_uint_32 png_get_image_width (png_structp png_ptr, png_infop info_ptr); #if !defined(PNG_1_0_X) png_int_32 png_get_int_32 (png_bytep buf); #endif); #if !defined(PNG_1_0_X) png_uint_16 png_get_uint_16 (png_bytep buf); png_uint_32 png_get_uint_31 (png_bytep buf); png_uint_32 png_get_uint_32 (png_bytep buf); #endif); void png_read_info (png_structp png_ptr, png_infop info_ptr); void png_read_png (png_structp png_ptr, png_infop info_ptr, int transforms, png_voidp params); void png_read_row (png_structp png_ptr, png_bytep row, png_bytep display_row); void png_read_rows (png_structp png_ptr, png_bytepp row, png_bytepp display_row, png_uint_32 num_rows); void png_read_update_info (png_structp png_ptr, png_infop info_ptr); #if !defined(PNG_1_0_X)); ); window_bits); void png_set_crc_action (png_structp png_ptr, int crit_action, int ancil_action); void png_set uristic_method, int num_weights, png_doublep filter_weights, png_doublep filter_costs); void png_set_flush (png_structp png_ptr, int nrows); void png_set_gamma (png_structp png_ptr, double screen_gamma, double_charp name, int compression_type, png_charplace_type, int compression_type, int filter_type); void png_set_keep_unknown_chunks (png_structp png_ptr, int keep, png_bytep chunk_list, int num_chunks); void png_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr, png_malloc progressive);_channels););); transforms, png_voidp params); void png_write_row (png_structp png_ptr, png_bytep row); void png_write_rows (png_structp png_ptr, png_bytepp row, png_uint_32 num_rows); voidpf png_zalloc (voidpf png_ptr, uInt items, uInt size); void png_zfree (voidpf png_ptr, voidpf ptr);
DESCRIPTION
The libpng library supports encoding, decoding, and various manipulations of the Portable Network Graphics (PNG) format image files. It uses the zlib(3) compression library. Following is a copy of the libpng.txt file that accompanies libpng.
LIBPNG.TXT
libpng.txt - A description on how to use and modify libpng libpng version 1.2.46 - July 9, 2011.46 - July 9, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2009:2003 ); Setting up callback code You can set up a callback function to handle any unknown chunks in the input stream. You must supply the function read_chunk_callback(png_ptr. This behavior can be changed with the png_set_keep_unknown_chunks() function, described below.. Here is an example of the usage of png_set_keep_unknown_chunks(), where the private "vpAg" chunk will later be processed by a user chunk callback: */ png_set_keep_unknown_chunks(read_ptr, override number); This limit also applies to the number of buffers that can be allocated by png_decompress_chunk() while decompressing iTXt, zTXt, and iCCP chunks.) (This excludes setting a background color, doing gamma transformation, dithering,_expand.2.46,. at); Finishing a sequential read After you are finished reading the image through the low-level interface, (in order red, green, blue). Writing unknown chunks. Finishing a sequential write(), png_calloc(), and png_free(). These currently just call the standard C functions. png_calloc() calls png_malloc() and then png_memset() to clear the newly allocated memory to zero.). Custom chunks If you need to read or write custom chunks, you may need to get deeper into the libpng code. The library now has mechanisms for storing and writing chunks of unknown type; you can even declare callbacks for custom chunks. However,0, foo); is expanded to if(PNG_DEBUG > 2) fprintf(PNG_DEBUG_FILE, "foo=%d0,.
VII. accomplish this, the functions png_create_read_struct_2(), png_create_write_struct_2(), png_set_mem_fn(), png_get_mem_ptr(), png_malloc() function is deprecated. A number of macro definitions in support of runtime selection of assembler deprecated since libpng-1.0.18 and 1.2.9.
IX. (Omitted)
X.I.://libpng.git.sourceforge.net/gitroot/libpng or you can browse it via "gitweb" at Patches can be sent to glennrp at users.sourceforge.net or to png-mng- implement at lists.sourceforge.net or you can upload them to the libpng bug tracker at
XII.; /* Multiple-line * comment */ statement; Very short comments can be placed at2K Compliance in libpng
July 9, 2011 Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and upward through 1.2.46 10.so.0.1.0.17rc1 1.2.7rc1 13 10207 12.so.0.1.2.7rc1 1.0.17 10 10017 10.so.0.1.0.17 1.2.7 13 10207 12.so.0.1.2.7 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5 1.0.18rc1-5 10 10018 10.so.0.1.0.18rc1-5 1.2.8rc1-5 13 10208 12.so.0.1.2.8rc1-5 1.0.18 10 10018 10-8 13 10210 12.so.0.10[.0] 1.2.10rc1-3 13 10210 12.so.0.10[.0] 1.2.10 13 10210 12.so.0.10[.0] 1.2.11beta1-4 13 10211 12.so.0.11[.0] 1.0.19rc1-5 10 10019 10.so.0.19[.0] 1.2.11rc1-5 13 10211 12.so.0.11[.0] 1.0.19 10 10019 10.so.0.19[.0] 1.2.11 13 10211 12.so.0.11[.0] 1.0.20 10 10020 10.so.0.20[.0] 1.2.12 13 10212 12.so.0.12[.0] 1.2.13beta1 13 10213 12.so.0.13[.0] 1.0.21 10 10021 10.so.0.21[.0] 1.2.13 13 10213 12.so.0.13[.0] 1.2.14beta1-2 13 10214 12.so.0.14[.0] 1.0.22rc1 10 10022 10.so.0.22[.0] 1.2.14rc1 13 10214 12.so.0.14[.0] 1.2.15beta1-6 13 10215 12.so.0.15[.0] 1.0.23rc1-5 10 10023 10.so.0.23[.0] 1.2.15rc1-5 13 10215 12.so.0.15[.0] 1.0.23 10 10023 10.so.0.23[.0] 1.2.15 13 10215 12.so.0.15[.0] 1.2.16beta1-2 13 10216 12.so.0.16[.0] 1.2.16rc1 13 10216 12.so.0.16[.0] 1.0.24 10 10024 10.so.0.24[.0] 1.2.16 13 10216 12.so.0.16[.0] 1.2.17beta1-2 13 10217 12.so.0.17[.0] 1.0.25rc1 10 10025 10.so.0.25[.0] 1.2.17rc1-3 13 10217 12.so.0.17[.0] 1.0.25 10 10025 10.so.0.25[.0] 1.2.17 13 10217 12.so.0.17[.0] 1.0.26 10 10026 10.so.0.26[.0] 1.2.18 13 10218 12.so.0.18[.0] 1.2.19beta1-31 13 10219 12.so.0.19[.0] 1.0.27rc1-6 10 10027 10.so.0.27[.0] 1.2.19rc1-6 13 10219 12.so.0.19[.0] 1.0.27 10 10027 10.so.0.27[.0] 1.2.19 13 10219 12.so.0.19[.0] 1.2.20beta01-04 13 10220 12.so.0.20[.0] 1.0.28rc1-6 10 10028 10.so.0.28[.0] 1.2.20rc1-6 13 10220 12.so.0.20[.0] 1.0.28 10 10028 10.so.0.28[.0] 1.2.20 13 10220 12.so.0.20[.0] 1.2.21beta1-2 13 10221 12.so.0.21[.0] 1.2.21rc1-3 13 10221 12.so.0.21[.0] 1.0.29 10 10029 10.so.0.29[.0] 1.2.21 13 10221 12.so.0.21[.0] 1.2.22beta1-4 13 10222 12.so.0.22[.0] 1.0.30rc1 13 10030 10.so.0.30[.0] 1.2.22rc1 13 10222 12.so.0.22[.0] 1.0.30 10 10030 10.so.0.30[.0] 1.2.22 13 10222 12.so.0.22[.0] 1.2.23beta01-05 13 10223 12.so.0.23[.0] 1.2.23rc01 13 10223 12.so.0.23[.0] 1.2.23 13 10223 12.so.0.23[.0] 1.2.24beta01-02 13 10224 12.so.0.24[.0] 1.2.24rc01 13 10224 12.so.0.24[.0] 1.2.24 13 10224 12.so.0.24[.0] 1.2.25beta01-06 13 10225 12.so.0.25[.0] 1.2.25rc01-02 13 10225 12.so.0.25[.0] 1.0.31 10 10031 10.so.0.31[.0] 1.2.25 13 10225 12.so.0.25[.0] 1.2.26beta01-06 13 10226 12.so.0.26[.0] 1.2.26rc01 13 10226 12.so.0.26[.0] 1.2.26 13 10226 12.so.0.26[.0] 1.0.32 10 10032 10.so.0.32[.0] 1.2.27beta01-06 13 10227 12.so.0.27[.0] 1.2.27rc01 13 10227 12.so.0.27[.0] 1.0.33 10 10033 10.so.0.33[.0] 1.2.27 13 10227 12.so.0.27[.0] 1.0.34 10 10034 10.so.0.34[.0] 1.2.28 13 10228 12.so.0.28[.0] 1.2.29beta01-03 13 10229 12.so.0.29[.0] 1.2.29rc01 13 10229 12.so.0.29[.0] 1.0.35 10 10035 10.so.0.35[.0] 1.2.29 13 10229 12.so.0.29[.0] 1.0.37 10 10037 10.so.0.37[.0] 1.2.30beta01-04 13 10230 12.so.0.30[.0] 1.0.38rc01-08 10 10038 10.so.0.38[.0] 1.2.30rc01-08 13 10230 12.so.0.30[.0] 1.0.38 10 10038 10.so.0.38[.0] 1.2.30 13 10230 12.so.0.30[.0] 1.0.39rc01-03 10 10039 10.so.0.39[.0] 1.2.31rc01-03 13 10231 12.so.0.31[.0] 1.0.39 10 10039 10.so.0.39[.0] 1.2.31 13 10231 12.so.0.31[.0] 1.2.32beta01-02 13 10232 12.so.0.32[.0] 1.0.40rc01 10 10040 10.so.0.40[.0] 1.2.32rc01 13 10232 12.so.0.32[.0] 1.0.40 10 10040 10.so.0.40[.0] 1.2.32 13 10232 12.so.0.32[.0] 1.2.33beta01-02 13 10233 12.so.0.33[.0] 1.2.33rc01-02 13 10233 12.so.0.33[.0] 1.0.41rc01 10 10041 10.so.0.41[.0] 1.2.33 13 10233 12.so.0.33[.0] 1.0.41 10 10041 10.so.0.41[.0] 1.2.34beta01-07 13 10234 12.so.0.34[.0] 1.0.42rc01 10 10042 10.so.0.42[.0] 1.2.34rc01 13 10234 12.so.0.34[.0] 1.0.42 10 10042 10.so.0.42[.0] 1.2.34 13 10234 12.so.0.34[.0] 1.2.35beta01-03 13 10235 12.so.0.35[.0] 1.0.43rc01-02 10 10043 10.so.0.43[.0] 1.2.35rc01-02 13 10235 12.so.0.35[.0] 1.0.43 10 10043 10.so.0.43[.0] 1.2.35 13 10235 12.so.0.35[.0] 1.2.36beta01-05 13 10236 12.so.0.36[.0] 1.2.36rc01 13 10236 12.so.0.36[.0] 1.0.44 10 10044 10.so.0.44[.0] 1.2.36 13 10236 12.so.0.36[.0] 1.2.37beta01-03 13 10237 12.so.0.37[.0] 1.2.37rc01 13 10237 12.so.0.37[.0] 1.2.37 13 10237 12.so.0.37[.0] 1.0.45 10 10045 12.so.0.45[.0] 1.0.46 10 10046 10.so.0.46[.0] 1.2.38beta01 13 10238 12.so.0.38[.0] 1.2.38rc01-03 13 10238 12.so.0.38[.0] 1.0.47 10 10047 10.so.0.47[.0] 1.2.38 13 10238 12.so.0.38[.0] 1.2.39beta01-05 13 10239 12.so.0.39[.0] 1.2.39rc01 13 10239 12.so.0.39[.0] 1.0.48 10 10048 10.so.0.48[.0] 1.2.39 13 10239 12.so.0.39[.0] 1.2.40beta01 13 10240 12.so.0.40[.0] 1.2.40rc01 13 10240 12.so.0.40[.0] 1.0.49 10 10049 10.so.0.49[.0] 1.2.40 13 10240 12.so.0.40[.0] 1.0.50 10 10050 10.so.0.50[.0] 1.2.41beta01-18 13 10241 12.so.0.41[.0] 1.0.51rc01 10 10051 10.so.0.51[.0] 1.2.41rc01-03 13 10241 12.so.0.41[.0] 1.0.51 10 10051 10.so.0.51[.0] 1.2.41 13 10241 12.so.0.41[.0] 1.2.42beta01-02 13 10242 12.so.0.42[.0] 1.2.42rc01-05 13 10242 12.so.0.42[.0] 1.0.52 10 10052 10.so.0.52[.0] 1.2.42 13 10242 12.so.0.42[.0] 1.2.43beta01-05 13 10243 12.so.0.43[.0] 1.0.53rc01-02 10 10053 10.so.0.53[.0] 1.2.43rc01-02 13 10243 12.so.0.43[.0] 1.0.53 10 10053 10.so.0.53[.0] 1.2.43 13 10243 12.so.0.43[.0] 1.2.44beta01-03 13 10244 12.so.0.44[.0] 1.2.44rc01-03 13 10244 12.so.0.44[.0] 1.2.44 13 10244 12.so.0.44[.0] 1.2.45beta01-03 13 10245 12.so.0.45[.0] 1.0.55rc01 10 10055 10.so.0.55[.0] 1.2.45rc01 13 10245 12.so.0.45[.0] 1.0.55 10 10055 10.so.0.55[.0] 1.2.45 13 10245 12.so.0.45[.0] 1.2.46rc01-02 13 10246 12.so.0.46[.0] 1.0.56 10 10056 10.so.0.56[.0] 1.2.46 13 10246 12.so.0.46[ corresponding to the source version x.y.z (leading zeros in y and z). Beta versions were given the previous public release number plus a letter, until version 1.0.6j; from then on they were given the upcoming public release number plus "betaNN" or "rcN".
SEE ALSO
libpngpf(3), png.2.46 - July 9, 2011: subscribe).
 following this sentence. This code is released under the libpng license. libpng versions 1.2.6, August 15, 2004, through 1.2.46, July 9, 2011, are Copyright (c) 2004,2006uly 9, 2011 July 9, 2011 LIBPNG(3)