Lines Matching refs:PNG
52 This file describes how to use and modify the PNG reference library
63 Libpng was written as a companion to the PNG specification, as a way
64 of reducing the amount of time and effort it takes to support the PNG
67 The PNG specification (second edition), November 2003, is available as
69 <http://www.w3.org/TR/2003/REC-PNG-20031110/
72 The PNG-1.2 specification is available at
74 to the PNG specification (second edition) but has some additional material.
76 The PNG-1.0 specification is available
84 about PNG, and the latest version of libpng, can be found at the PNG home
97 the PNG file format in whatever way possible. While there is still
101 Libpng uses zlib for its compression and decompression of PNG files.
105 useful for more than PNG files, and can be used without libpng.
123 PNG file. At one time, the fields of png_info were intended to be
137 integers in the PNG format) don't take a png_info pointer, but it's almost
162 however, internally PNG, and libpng, use 32 bit signed integers and encode
319 in a PNG file sequentially, briefly explaining the syntax and purpose
322 need some of the functions discussed in this section to read a PNG
329 will also want to insure that you are, in fact, dealing with a PNG
330 file. Libpng provides a simple check to see if a file is a PNG file.
333 corresponding bytes of the PNG signature, or nonzero (true) otherwise.
447 the beginning in order to see if this was a PNG file, you need to let
570 input PNG stream. Both known and unknown chunks will be read. Normal
649 The PNG specification allows the width and height of an image to be as
662 You should put this statement after you create the PNG structure and
665 When writing a PNG datastream, put this statement before calling
673 The PNG specification sets no limit on the number of ancillary chunks
674 allowed in a PNG datastream. You can impose a limit on the total number
697 If you intend to display the PNG or to incorporate it in other image data you
701 From libpng-1.5.4 this information can be set before reading the PNG file
703 called before the PNG file header had been read and png_set_alpha_mode() did not
711 value. You can also specify a default encoding for the PNG file in
713 assumes that the PNG data matches your system, to keep this default call:
755 The inverse of the value is always used to provide a default for the PNG file
757 to override the PNG gamma information.
770 behind it. sRGB is defined to be approximated by a PNG gAMA chunk value of
771 0.45455 (1/2.2) for PNG. The value implicitly includes any viewing
777 sRGB provides a peg for the PNG standard by defining a viewing environment.
779 (a linear portion then a gamma 2.4 power law) than PNG can express. (PNG is
782 (11.3.3.2 and 11.3.3.5 of the ISO PNG specification) the PNG specification
793 difficult and most PNG gamma correction only requires an approximate value.
813 alpha channel information. Some, but not all, PNG files contain an alpha
815 suitable background, as described in the PNG specification.
836 PNG_ALPHA_PNG: The data is encoded according to the PNG
850 channel. See the PNG specification for more detail. It is
867 color channels). Note that PNG files always contain non-associated color
875 the PNG format (adjusted for the output color space) while storing partially
880 simulate transparency over large areas - use 16 bits or the PNG mode in
899 the file gamma if the PNG file has no gamma information.
982 that the output is for a sRGB system and causes all PNG files without gAMA
995 of assuming that input PNG data with no gamma information is linear - this
996 is unlikely to be correct unless the PNG files where generated locally.
1003 This is a somewhat more realistic Jim Blinn inspired approach. PNG files
1006 and processing of the data. If you know that your input PNG files were
1012 If you just need to composite the PNG image onto an existing background
1022 If neither the PNG nor the standard linear encoding work for you because
1023 of the software or hardware you use then you have a big problem. The PNG
1038 When the default gamma of PNG files doesn't match the output gamma.
1039 If you have PNG files with no gamma information png_set_alpha_mode allows
1041 matching value. If you know your PNG files have a gamma that doesn't
1043 png_set_alpha_mode always sets the output gamma but only sets the PNG
1066 libpng will produce for you. Because you don't yet know the format of the PNG
1097 Calling png_set_background before the PNG file header is read will not work
1203 This also copies some of the data from the PNG file into the decode structure
1206 1) The PNG file gamma from the gAMA chunk. This overwrites the default value
1262 for PNG 1.0)
1265 for PNG 1.0, and can also be
1267 the PNG datastream is embedded in
1381 green and blue channels in the PNG RGB data.
1400 PNG_COMPRESSION_TYPE_BASE for PNG 1.0.
1567 chunks were read from the PNG file or inserted with the
1632 PNG specification for chunk contents. Be careful with trusting
1637 A quick word about text_ptr and num_text. PNG stores comments in
1643 symbols are not allowed. See the PNG specification for more details.
1727 PNG can have files with 16 bits per channel. If you only can handle
1807 In PNG files, the alpha channel in an image
1816 PNG files pack pixels of bit depths 1, 2, and 4 into bytes as small as
1824 PNG files have possible bit depths of 1, 2, 4, 8, and 16. All pixels
1825 stored in a PNG image have been "scaled" or "shifted" up to the next
1828 to convert the PNG pixel data back to the original bit depth of the
1836 PNG files store 3-color pixels in red, green, blue order. This code
1843 PNG files store RGB pixels packed into 3 or 6 bytes. This code expands them
1867 data as ARGB instead of the normal PNG format RGBA:
1919 The default values come from the PNG file cHRM chunk if present; otherwise, the
1946 If the PNG file contains a bKGD chunk (PNG_INFO_bKGD valid),
1967 the PNG it is possible to avoid the need to choose either 8-bit or 16-bit
1974 of the PNG file. So, for palette images the color is supplied as a palette
1984 supported then you can certainly do png_set_gamma() before reading the PNG
1988 override the value in the PNG file unless it is called before the PNG file
1989 reading starts. For this reason you must always call it with the PNG file
2033 PNG files describe monochrome as black being zero and white being one.
2046 PNG files store 16-bit pixels in network byte order (big-endian,
2140 functions return the values corresponding to the original PNG image.
2186 get somewhat harder. The only current (PNG Specification version 1.2)
2187 interlacing type for PNG is (interlace_type == PNG_INTERLACE_ADAM7);
2196 mentioned in the PNG specification is to expand each pixel to cover
2326 is if you are processing PNG files on a pixel-by-pixel basis and don't want
2370 the PNG datastream.
2424 You can call this function after reading the PNG data but before calling
2464 For a more compact example of reading a PNG image, see the file example.c.
2466 Reading PNG files progressively
2475 assume that you have read the section on reading PNG files above,
2578 PNG files section. For now, you _must_ call
2751 error according to the PNG specification, Clause 11.3.2, but the error can
2758 invalid PNG datastream as output. In this case the application is
2771 If you are embedding your PNG into a datastream such as MNG, and don't
2814 in some cases, like if you need to write PNG files extremely fast and
2821 July 1999 PNG specification, version 1.2) or 64 (if you are writing
2822 a PNG datastream that is to be embedded in a MNG datastream). The third
2824 for each scanline. See the PNG specification for details on the specific
2846 If you are writing a PNG datastream that is to be embedded in a MNG
2885 chunk (as of PNG Specification 1.2, anyway). See png_write_end() and
2886 the latest PNG specification for more information on that. If you
2891 contain, see the PNG specification.
2936 or, if you are writing a PNG to
2984 color of the red, green and blue channels in the PNG RGB
3025 PNG_COMPRESSION_TYPE_BASE for PNG 1.0.
3199 The keywords that are given in the PNG Specification are:
3226 keywords are found in the PNG specification, as is some recommendations
3243 PNG supports modification time via the png_time structure. Two
3250 year (e.g. 1998, rather than 98 - PNG is year 2000 compliant!), and
3255 necessary because the "creation time" of a PNG image is somewhat vague,
3256 depending on whether you mean the PNG file, the time the image was
3257 created in a non-PNG format, a still photo from which the image was
3265 convert from PNG time to an RFC 1123 format string. The caller must provide
3277 in a sequence that satisfies the PNG specification's ordering rules.
3366 png_write_info(). In PNG files, the alpha channel in an image is the
3383 the PLTE chunk when PLTE is present, you can write the PNG info in
3400 PNG files store RGB pixels packed into 3 or 6 bytes. This code tells
3411 PNG files pack pixels of bit depths 1, 2, and 4 into bytes as small as
3418 PNG files reduce possible bit depths to 1, 2, 4, 8, and 16. If your
3443 one supported by PNG (e.g. 3 bit data in the range 0-7 for a 4-bit PNG),
3445 is required by PNG.
3449 PNG files store 16-bit pixels in network byte order (big-endian,
3463 PNG files store 3 color pixels in red, green, blue order. This code
3468 PNG files describe monochrome as black being zero and white being
3573 The only currently (as of the PNG Specification version 1.2, dated July
3574 1999) defined interlacing scheme for PNG files is the "Adam7" interlace
3577 yourself. If you want to build them yourself, see the PNG specification
3706 For a more compact example of writing a PNG image, see the file example.c.
3711 of both libpng and the PNG file format itself.
3712 It allows PNG files to be read into a very limited number of
3719 To read a PNG file using the simplified API:
3732 There are no restrictions on the format of the PNG input itself; all valid
3737 To write a PNG file using the simplified API:
3747 pointer to the image to write the PNG data.
3967 The PNG is color-mapped. If this flag is set png_image_read_colormap
3980 is filled in from the PNG header in the file.
3985 The PNG header is read from the stdio FILE object.
3990 The PNG header is read from the given memory buffer.
4055 a (png_byte) PNG gamma encoded according to the sRGB specification, otherwise
4056 a 16-bit linear encoded PNG file is written.
4220 If you need to write a new intrinsic chunk, first read the PNG
4312 for normal use and may result in writing an invalid PNG file. See
4357 currently only '0' in the PNG 1.2 specification. The 'filters'
4365 These filters are described in more detail in the PNG specification.
4382 writing a PNG to be embedded in a MNG
4440 and writing PNG files with all known public chunks. Use of the
4513 certain extensions to PNG for PNG images that are embedded in MNG datastreams.
4530 PNG file with the PNG 8-byte signature. The PNG datastream must be wrapped
4543 of the original PNG Group, Glenn Randers-Pehrson. Guy and Andreas are
4808 error according to the PNG specification, Clause 11.3.2, but the error can
4890 the PNG file format used fixed point, not floating point. This applies
4904 and the accuracy of PNG fixed point values is insufficient for
4999 of complete PNG support, required reasonably fast floating point.
5084 practice these are normally required internally anyway (because the PNG
5200 very old broken Microsoft/HP 3144-byte sRGB profile. The PNG spec requirement
5208 are allowed by the PNG specification, so these warnings are no longer issued.
5237 hundreds of PNG files in the wild that have incorrect CMF bytes that caused
5250 length, which resulted in PNG files that cannot be read beyond the bad iTXt
5388 preprocessor macros begin with "PNG". We request that applications that
5421 Since the PNG Development group is an ad-hoc body, we can't make
5471 PNG Development Group