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 <https://www.w3.org/TR/2003/REC-PNG-20031110/
72 The PNG-1.2 specification is available at
75 to the PNG specification (second edition) but has some additional material.
77 The PNG-1.0 specification is available as RFC 2083
85 about PNG, and the latest version of libpng, can be found at the PNG home
98 the PNG file format in whatever way possible. While there is still
102 Libpng uses zlib for its compression and decompression of PNG files.
106 useful for more than PNG files, and can be used without libpng.
124 PNG file. At one time, the fields of png_info were intended to be
138 integers in the PNG format) don't take a png_info pointer, but it's almost
163 however, internally PNG, and libpng, use 32 bit signed integers and encode
320 in a PNG file sequentially, briefly explaining the syntax and purpose
323 need some of the functions discussed in this section to read a PNG
330 will also want to insure that you are, in fact, dealing with a PNG
331 file. Libpng provides a simple check to see if a file is a PNG file.
334 corresponding bytes of the PNG signature, or nonzero (true) otherwise.
449 the beginning in order to see if this was a PNG file, you need to let
576 input PNG stream. Both known and unknown chunks will be read. Normal
655 The PNG specification allows the width and height of an image to be as
666 You should put this statement after you create the PNG structure and
669 When writing a PNG datastream, put this statement before calling
677 The PNG specification sets no limit on the number of ancillary chunks
678 allowed in a PNG datastream. By default, libpng imposes a limit of
706 If you intend to display the PNG or to incorporate it in other image data you
710 From libpng-1.5.4 this information can be set before reading the PNG file
712 called before the PNG file header had been read and png_set_alpha_mode() did not
720 value. You can also specify a default encoding for the PNG file in
722 assumes that the PNG data matches your system, to keep this default call:
764 The inverse of the value is always used to provide a default for the PNG file
766 to override the PNG gamma information.
779 behind it. sRGB is defined to be approximated by a PNG gAMA chunk value of
780 0.45455 (1/2.2) for PNG. The value implicitly includes any viewing
786 sRGB provides a peg for the PNG standard by defining a viewing environment.
788 (a linear portion then a gamma 2.4 power law) than PNG can express. (PNG is
791 (11.3.3.2 and 11.3.3.5 of the ISO PNG specification) the PNG specification
802 difficult and most PNG gamma correction only requires an approximate value.
822 alpha channel information. Some, but not all, PNG files contain an alpha
824 suitable background, as described in the PNG specification.
845 PNG_ALPHA_PNG: The data is encoded according to the PNG
859 channel. See the PNG specification for more detail. It is
876 color channels). Note that PNG files always contain non-associated color
884 the PNG format (adjusted for the output color space) while storing partially
889 simulate transparency over large areas - use 16 bits or the PNG mode in
908 the file gamma if the PNG file has no gamma information.
991 PNG_ALPHA_PNG 0 /* according to the PNG standard */
995 PNG_ALPHA_OPTIMIZED 2 /* 'PNG' for opaque pixels, else 'STANDARD' */
1000 that the output is for a sRGB system and causes all PNG files without gAMA
1013 of assuming that input PNG data with no gamma information is linear - this
1014 is unlikely to be correct unless the PNG files were generated locally.
1021 This is a somewhat more realistic Jim Blinn inspired approach. PNG files
1024 and processing of the data. If you know that your input PNG files were
1030 If you just need to composite the PNG image onto an existing background
1040 If neither the PNG nor the standard linear encoding work for you because
1041 of the software or hardware you use then you have a big problem. The PNG
1056 When the default gamma of PNG files doesn't match the output gamma.
1057 If you have PNG files with no gamma information png_set_alpha_mode allows
1059 matching value. If you know your PNG files have a gamma that doesn't
1061 png_set_alpha_mode always sets the output gamma but only sets the PNG
1084 libpng will produce for you. Because you don't yet know the format of the PNG
1115 Calling png_set_background before the PNG file header is read will not work
1234 This also copies some of the data from the PNG file into the decode structure
1237 1) The PNG file gamma from the gAMA chunk. This overwrites the default value
1293 for PNG 1.0)
1296 for PNG 1.0, and can also be
1298 the PNG datastream is embedded in
1417 green and blue channels in the PNG RGB data.
1436 PNG_COMPRESSION_TYPE_BASE for PNG 1.0.
1608 chunks were read from the PNG file or inserted with the
1673 PNG specification for chunk contents. Be careful with trusting
1678 A quick word about text_ptr and num_text. PNG stores comments in
1684 symbols are not allowed. See the PNG specification for more details.
1769 PNG can have files with 16 bits per channel. If you only can handle
1849 In PNG files, the alpha channel in an image
1858 PNG files pack pixels of bit depths 1, 2, and 4 into bytes as small as
1866 PNG files have possible bit depths of 1, 2, 4, 8, and 16. All pixels
1867 stored in a PNG image have been "scaled" or "shifted" up to the next
1870 to convert the PNG pixel data back to the original bit depth of the
1878 PNG files store 3-color pixels in red, green, blue order. This code
1885 PNG files store RGB pixels packed into 3 or 6 bytes. This code expands them
1910 data as ARGB instead of the normal PNG format RGBA:
1962 The default values come from the PNG file cHRM chunk if present; otherwise, the
1989 If the PNG file contains a bKGD chunk (PNG_INFO_bKGD valid),
2010 the PNG it is possible to avoid the need to choose either 8-bit or 16-bit
2017 of the PNG file. So, for palette images the color is supplied as a palette
2027 supported then you can certainly do png_set_gamma() before reading the PNG
2031 override the value in the PNG file unless it is called before the PNG file
2032 reading starts. For this reason you must always call it with the PNG file
2076 PNG files describe monochrome as black being zero and white being one.
2089 PNG files store 16-bit pixels in network byte order (big-endian,
2193 functions return the values corresponding to the original PNG image.
2239 get somewhat harder. The only current (PNG Specification version 1.2)
2240 interlacing type for PNG is (interlace_type == PNG_INTERLACE_ADAM7);
2249 mentioned in the PNG specification is to expand each pixel to cover
2384 is if you are processing PNG files on a pixel-by-pixel basis and don't want
2428 the PNG datastream.
2482 You can call this function after reading the PNG data but before calling
2523 For a more compact example of reading a PNG image, see the file example.c.
2525 Reading PNG files progressively
2534 assume that you have read the section on reading PNG files above,
2637 PNG files section. For now, you _must_ call
2810 error according to the PNG specification, Clause 11.3.2, but the error can
2817 invalid PNG datastream as output. In this case the application is
2830 If you are embedding your PNG into a datastream such as MNG, and don't
2873 in some cases, like if you need to write PNG files extremely fast and
2880 July 1999 PNG specification, version 1.2) or 64 (if you are writing
2881 a PNG datastream that is to be embedded in a MNG datastream). The third
2883 for each scanline. See the PNG specification for details on the specific
2905 If you are writing a PNG datastream that is to be embedded in a MNG
2944 chunk (as of PNG Specification 1.2, anyway). See png_write_end() and
2945 the latest PNG specification for more information on that. If you
2950 contain, see the PNG specification.
2995 or, if you are writing a PNG to
3044 color of the red, green and blue channels in the PNG RGB
3085 PNG_COMPRESSION_TYPE_BASE for PNG 1.0.
3264 The keywords that are given in the PNG Specification are:
3291 keywords are found in the PNG specification, as is some recommendations
3308 PNG supports modification time via the png_time structure. Two
3315 year (e.g. 1998, rather than 98 - PNG is year 2000 compliant!), and
3320 necessary because the "creation time" of a PNG image is somewhat vague,
3321 depending on whether you mean the PNG file, the time the image was
3322 created in a non-PNG format, a still photo from which the image was
3330 convert from PNG time to an RFC 1123 format string. The caller must provide
3342 in a sequence that satisfies the PNG specification's ordering rules.
3431 png_write_info(). In PNG files, the alpha channel in an image is the
3448 the PLTE chunk when PLTE is present, you can write the PNG info in
3465 PNG files store RGB pixels packed into 3 or 6 bytes. This code tells
3476 PNG files pack pixels of bit depths 1, 2, and 4 into bytes as small as
3483 PNG files reduce possible bit depths to 1, 2, 4, 8, and 16. If your
3508 one supported by PNG (e.g. 3 bit data in the range 0-7 for a 4-bit PNG),
3510 is required by PNG.
3514 PNG files store 16-bit pixels in network byte order (big-endian,
3528 PNG files store 3 color pixels in red, green, blue order. This code
3533 PNG files describe monochrome as black being zero and white being
3638 The only currently (as of the PNG Specification version 1.2, dated July
3639 1999) defined interlacing scheme for PNG files is the "Adam7" interlace
3642 yourself. If you want to build them yourself, see the PNG specification
3771 For a more compact example of writing a PNG image, see the file example.c.
3776 of both libpng and the PNG file format itself.
3777 It allows PNG files to be read into a very limited number of
3784 To read a PNG file using the simplified API:
3799 There are no restrictions on the format of the PNG input itself; all valid
3803 request a color-mapped image from a PNG that is full-color or makes
3807 To write a PNG file using the simplified API:
3818 the PNG data.
4062 On write emphasise speed over compression; the resultant PNG file will be
4068 more compressible images the PNG file can be 10 times larger with only a
4097 is filled in from the PNG header in the file.
4102 The PNG header is read from the stdio FILE object.
4107 The PNG header is read from the given memory buffer.
4179 a (png_byte) PNG gamma encoded according to the sRGB specification, otherwise
4180 a 16-bit linear encoded PNG file is written.
4345 If you need to write a new intrinsic chunk, first read the PNG
4402 for normal use and may result in writing an invalid PNG file. See
4449 currently only '0' in the PNG 1.2 specification. The 'filters'
4458 These filters are described in more detail in the PNG specification.
4482 writing a PNG to be embedded in a MNG
4527 certain extensions to PNG for PNG images that are embedded in MNG datastreams.
4544 PNG file with the PNG 8-byte signature. The PNG datastream must be wrapped
4557 of the original PNG Group, Glenn Randers-Pehrson. Guy and Andreas are
4822 error according to the PNG specification, Clause 11.3.2, but the error can
4903 the PNG file format used fixed point, not floating point. This applies
4917 and the accuracy of PNG fixed point values is insufficient for
4988 of complete PNG support, required reasonably fast floating point.
5053 practice these are normally required internally anyway (because the PNG
5148 The PNG spec requirement that only grayscale profiles may appear in images
5161 are allowed by the PNG specification, so these warnings are no longer issued.
5190 hundreds of PNG files in the wild that have incorrect CMF bytes that caused
5199 and provide a tool (contrib/tools/pngfix) for rewriting a PNG file while
5203 length, which resulted in PNG files that cannot be read beyond the bad iTXt
5225 is an error. Previously this requirement of the PNG specification was not
5227 PLTE chunk found in an input PNG is silently truncated.
5362 preprocessor macros begin with "PNG". We request that applications that
5413 Since the PNG Development group is an ad-hoc body, we can't make
5464 PNG Development Group