Lines Matching refs:PNG
53 This file describes how to use and modify the PNG reference library
64 Libpng was written as a companion to the PNG specification, as a way
65 of reducing the amount of time and effort it takes to support the PNG
68 The PNG specification (second edition), November 2003, is available as
70 <https://www.w3.org/TR/2003/REC-PNG-20031110/>.
73 The PNG-1.2 specification is available at
76 to the PNG specification (second edition) but has some additional material.
78 The PNG-1.0 specification is available as RFC 2083 at
86 about PNG, and the latest version of libpng, can be found at the PNG home
99 the PNG file format in whatever way possible. While there is still
103 Libpng uses zlib for its compression and decompression of PNG files.
107 useful for more than PNG files, and can be used without libpng.
125 PNG file. At one time, the fields of png_info were intended to be
139 integers in the PNG format) don't take a png_info pointer, but it's almost
164 however, internally PNG, and libpng, use 32 bit signed integers and encode
321 in a PNG file sequentially, briefly explaining the syntax and purpose
324 need some of the functions discussed in this section to read a PNG
331 will also want to insure that you are, in fact, dealing with a PNG
332 file. Libpng provides a simple check to see if a file is a PNG file.
335 corresponding bytes of the PNG signature, or nonzero (true) otherwise.
450 the beginning in order to see if this was a PNG file, you need to let
577 input PNG stream. Both known and unknown chunks will be read. Normal
656 The PNG specification allows the width and height of an image to be as
667 You should put this statement after you create the PNG structure and
670 When writing a PNG datastream, put this statement before calling
678 The PNG specification sets no limit on the number of ancillary chunks
679 allowed in a PNG datastream. By default, libpng imposes a limit of
707 If you intend to display the PNG or to incorporate it in other image data you
711 From libpng-1.5.4 this information can be set before reading the PNG file
713 called before the PNG file header had been read and png_set_alpha_mode() did not
721 value. You can also specify a default encoding for the PNG file in
723 assumes that the PNG data matches your system, to keep this default call:
765 The inverse of the value is always used to provide a default for the PNG file
767 to override the PNG gamma information.
780 behind it. sRGB is defined to be approximated by a PNG gAMA chunk value of
781 0.45455 (1/2.2) for PNG. The value implicitly includes any viewing
787 sRGB provides a peg for the PNG standard by defining a viewing environment.
789 (a linear portion then a gamma 2.4 power law) than PNG can express. (PNG is
792 (11.3.3.2 and 11.3.3.5 of the ISO PNG specification) the PNG specification
803 difficult and most PNG gamma correction only requires an approximate value.
823 alpha channel information. Some, but not all, PNG files contain an alpha
825 suitable background, as described in the PNG specification.
846 PNG_ALPHA_PNG: The data is encoded according to the PNG
860 channel. See the PNG specification for more detail. It is
877 color channels). Note that PNG files always contain non-associated color
885 the PNG format (adjusted for the output color space) while storing partially
890 simulate transparency over large areas - use 16 bits or the PNG mode in
909 the file gamma if the PNG file has no gamma information.
992 PNG_ALPHA_PNG 0 /* according to the PNG standard */
996 PNG_ALPHA_OPTIMIZED 2 /* 'PNG' for opaque pixels, else 'STANDARD' */
1001 that the output is for a sRGB system and causes all PNG files without gAMA
1014 of assuming that input PNG data with no gamma information is linear - this
1015 is unlikely to be correct unless the PNG files were generated locally.
1022 This is a somewhat more realistic Jim Blinn inspired approach. PNG files
1025 and processing of the data. If you know that your input PNG files were
1031 If you just need to composite the PNG image onto an existing background
1041 If neither the PNG nor the standard linear encoding work for you because
1042 of the software or hardware you use then you have a big problem. The PNG
1057 When the default gamma of PNG files doesn't match the output gamma.
1058 If you have PNG files with no gamma information png_set_alpha_mode allows
1060 matching value. If you know your PNG files have a gamma that doesn't
1062 png_set_alpha_mode always sets the output gamma but only sets the PNG
1085 libpng will produce for you. Because you don't yet know the format of the PNG
1116 Calling png_set_background before the PNG file header is read will not work
1235 This also copies some of the data from the PNG file into the decode structure
1238 1) The PNG file gamma from the gAMA chunk. This overwrites the default value
1294 for PNG 1.0)
1297 for PNG 1.0, and can also be
1299 the PNG datastream is embedded in
1418 green and blue channels in the PNG RGB data.
1437 PNG_COMPRESSION_TYPE_BASE for PNG 1.0.
1609 chunks were read from the PNG file or inserted with the
1674 PNG specification for chunk contents. Be careful with trusting
1679 A quick word about text_ptr and num_text. PNG stores comments in
1685 symbols are not allowed. See the PNG specification for more details.
1770 PNG can have files with 16 bits per channel. If you only can handle
1850 In PNG files, the alpha channel in an image
1859 PNG files pack pixels of bit depths 1, 2, and 4 into bytes as small as
1867 PNG files have possible bit depths of 1, 2, 4, 8, and 16. All pixels
1868 stored in a PNG image have been "scaled" or "shifted" up to the next
1871 to convert the PNG pixel data back to the original bit depth of the
1879 PNG files store 3-color pixels in red, green, blue order. This code
1886 PNG files store RGB pixels packed into 3 or 6 bytes. This code expands them
1911 data as ARGB instead of the normal PNG format RGBA:
1963 The default values come from the PNG file cHRM chunk if present; otherwise, the
1990 If the PNG file contains a bKGD chunk (PNG_INFO_bKGD valid),
2011 the PNG it is possible to avoid the need to choose either 8-bit or 16-bit
2018 of the PNG file. So, for palette images the color is supplied as a palette
2028 supported then you can certainly do png_set_gamma() before reading the PNG
2032 override the value in the PNG file unless it is called before the PNG file
2033 reading starts. For this reason you must always call it with the PNG file
2077 PNG files describe monochrome as black being zero and white being one.
2090 PNG files store 16-bit pixels in network byte order (big-endian,
2194 functions return the values corresponding to the original PNG image.
2240 get somewhat harder. The only current (PNG Specification version 1.2)
2241 interlacing type for PNG is (interlace_type == PNG_INTERLACE_ADAM7);
2250 mentioned in the PNG specification is to expand each pixel to cover
2385 is if you are processing PNG files on a pixel-by-pixel basis and don't want
2429 the PNG datastream.
2483 You can call this function after reading the PNG data but before calling
2524 For a more compact example of reading a PNG image, see the file example.c.
2526 Reading PNG files progressively
2535 assume that you have read the section on reading PNG files above,
2638 PNG files section. For now, you _must_ call
2811 error according to the PNG specification, Clause 11.3.2, but the error can
2818 invalid PNG datastream as output. In this case the application is
2831 If you are embedding your PNG into a datastream such as MNG, and don't
2874 in some cases, like if you need to write PNG files extremely fast and
2881 July 1999 PNG specification, version 1.2) or 64 (if you are writing
2882 a PNG datastream that is to be embedded in a MNG datastream). The third
2884 for each scanline. See the PNG specification for details on the specific
2906 If you are writing a PNG datastream that is to be embedded in a MNG
2945 chunk (as of PNG Specification 1.2, anyway). See png_write_end() and
2946 the latest PNG specification for more information on that. If you
2951 contain, see the PNG specification.
2996 or, if you are writing a PNG to
3045 color of the red, green and blue channels in the PNG RGB
3086 PNG_COMPRESSION_TYPE_BASE for PNG 1.0.
3265 The keywords that are given in the PNG Specification are:
3292 keywords are found in the PNG specification, as is some recommendations
3309 PNG supports modification time via the png_time structure. Two
3316 year (e.g. 1998, rather than 98 - PNG is year 2000 compliant!), and
3321 necessary because the "creation time" of a PNG image is somewhat vague,
3322 depending on whether you mean the PNG file, the time the image was
3323 created in a non-PNG format, a still photo from which the image was
3331 convert from PNG time to an RFC 1123 format string. The caller must provide
3343 in a sequence that satisfies the PNG specification's ordering rules.
3432 png_write_info(). In PNG files, the alpha channel in an image is the
3449 the PLTE chunk when PLTE is present, you can write the PNG info in
3466 PNG files store RGB pixels packed into 3 or 6 bytes. This code tells
3477 PNG files pack pixels of bit depths 1, 2, and 4 into bytes as small as
3484 PNG files reduce possible bit depths to 1, 2, 4, 8, and 16. If your
3509 one supported by PNG (e.g. 3 bit data in the range 0-7 for a 4-bit PNG),
3511 is required by PNG.
3515 PNG files store 16-bit pixels in network byte order (big-endian,
3529 PNG files store 3 color pixels in red, green, blue order. This code
3534 PNG files describe monochrome as black being zero and white being
3639 The only currently (as of the PNG Specification version 1.2, dated July
3640 1999) defined interlacing scheme for PNG files is the "Adam7" interlace
3643 yourself. If you want to build them yourself, see the PNG specification
3772 For a more compact example of writing a PNG image, see the file example.c.
3777 of both libpng and the PNG file format itself.
3778 It allows PNG files to be read into a very limited number of
3785 To read a PNG file using the simplified API:
3800 There are no restrictions on the format of the PNG input itself; all valid
3804 request a color-mapped image from a PNG that is full-color or makes
3808 To write a PNG file using the simplified API:
3819 the PNG data.
4063 On write emphasise speed over compression; the resultant PNG file will be
4069 more compressible images the PNG file can be 10 times larger with only a
4098 is filled in from the PNG header in the file.
4103 The PNG header is read from the stdio FILE object.
4108 The PNG header is read from the given memory buffer.
4180 a (png_byte) PNG gamma encoded according to the sRGB specification, otherwise
4181 a 16-bit linear encoded PNG file is written.
4346 If you need to write a new intrinsic chunk, first read the PNG
4403 for normal use and may result in writing an invalid PNG file. See
4450 currently only '0' in the PNG 1.2 specification. The 'filters'
4459 These filters are described in more detail in the PNG specification.
4483 writing a PNG to be embedded in a MNG
4528 certain extensions to PNG for PNG images that are embedded in MNG datastreams.
4545 PNG file with the PNG 8-byte signature. The PNG datastream must be wrapped
4558 of the original PNG Group, Glenn Randers-Pehrson. Guy and Andreas are
4823 error according to the PNG specification, Clause 11.3.2, but the error can
4904 the PNG file format used fixed point, not floating point. This applies
4918 and the accuracy of PNG fixed point values is insufficient for
4989 of complete PNG support, required reasonably fast floating point.
5054 practice these are normally required internally anyway (because the PNG
5149 The PNG spec requirement that only grayscale profiles may appear in images
5162 are allowed by the PNG specification, so these warnings are no longer issued.
5191 hundreds of PNG files in the wild that have incorrect CMF bytes that caused
5200 and provide a tool (contrib/tools/pngfix) for rewriting a PNG file while
5204 length, which resulted in PNG files that cannot be read beyond the bad iTXt
5226 is an error. Previously this requirement of the PNG specification was not
5228 PLTE chunk found in an input PNG is silently truncated.
5362 preprocessor macros begin with "PNG". We request that applications that