[libpng15] Imported from libpng-1.5.5beta07.tar
This commit is contained in:
parent
b6e4d58e4b
commit
95ba417c82
4
LICENSE
4
LICENSE
@ -10,7 +10,7 @@ this sentence.
|
|||||||
|
|
||||||
This code is released under the libpng license.
|
This code is released under the libpng license.
|
||||||
|
|
||||||
libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, August 26, 2011, are
|
libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, September 8, 2011, are
|
||||||
Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
|
Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
|
||||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||||
with the following individual added to the list of Contributing Authors
|
with the following individual added to the list of Contributing Authors
|
||||||
@ -108,4 +108,4 @@ certification mark of the Open Source Initiative.
|
|||||||
|
|
||||||
Glenn Randers-Pehrson
|
Glenn Randers-Pehrson
|
||||||
glennrp at users.sourceforge.net
|
glennrp at users.sourceforge.net
|
||||||
August 26, 2011
|
September 8, 2011
|
||||||
|
2
README
2
README
@ -1,4 +1,4 @@
|
|||||||
README for libpng version 1.5.5beta07 - August 26, 2011 (shared library 15.0)
|
README for libpng version 1.5.5beta07 - September 8, 2011 (shared library 15.0)
|
||||||
See the note about version numbers near the top of png.h
|
See the note about version numbers near the top of png.h
|
||||||
|
|
||||||
See INSTALL for instructions on how to install libpng.
|
See INSTALL for instructions on how to install libpng.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
libpng-manual.txt - A description on how to use and modify libpng
|
libpng-manual.txt - A description on how to use and modify libpng
|
||||||
|
|
||||||
libpng version 1.5.5beta07 - August 26, 2011
|
libpng version 1.5.5beta07 - September 8, 2011
|
||||||
Updated and distributed by Glenn Randers-Pehrson
|
Updated and distributed by Glenn Randers-Pehrson
|
||||||
<glennrp at users.sourceforge.net>
|
<glennrp at users.sourceforge.net>
|
||||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||||
@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng
|
|||||||
|
|
||||||
Based on:
|
Based on:
|
||||||
|
|
||||||
libpng versions 0.97, January 1998, through 1.5.5beta07 - August 26, 2011
|
libpng versions 0.97, January 1998, through 1.5.5beta07 - September 8, 2011
|
||||||
Updated and distributed by Glenn Randers-Pehrson
|
Updated and distributed by Glenn Randers-Pehrson
|
||||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||||
|
|
||||||
@ -691,7 +691,7 @@ or you can use the fixed point equivalent:
|
|||||||
|
|
||||||
png_set_gamma_fixed(png_ptr, PNG_FP_1*screen_gamma, PNG_FP_1/screen_gamma);
|
png_set_gamma_fixed(png_ptr, PNG_FP_1*screen_gamma, PNG_FP_1/screen_gamma);
|
||||||
|
|
||||||
If you don't know the gamma for you system it is probably 2.2 - a good
|
If you don't know the gamma for your system it is probably 2.2 - a good
|
||||||
approximation to the IEC standard for display systems (sRGB). If images are
|
approximation to the IEC standard for display systems (sRGB). If images are
|
||||||
too contrasty or washed out you got the value wrong - check your system
|
too contrasty or washed out you got the value wrong - check your system
|
||||||
documentation!
|
documentation!
|
||||||
@ -720,16 +720,18 @@ channel. To display these files correctly you need to compose the data onto a
|
|||||||
suitable background, as described in the PNG specification.
|
suitable background, as described in the PNG specification.
|
||||||
|
|
||||||
Libpng only supports composing onto a single color (using png_set_background;
|
Libpng only supports composing onto a single color (using png_set_background;
|
||||||
see below.) Otherwise you must do the composition yourself and, in this case,
|
see below). Otherwise you must do the composition yourself and, in this case,
|
||||||
you may need to call png_set_alpha_mode:
|
you may need to call png_set_alpha_mode:
|
||||||
|
|
||||||
#if PNG_LIBPNG_VER >= 10504
|
#if PNG_LIBPNG_VER >= 10504
|
||||||
png_set_alpha_mode(png_ptr, mode, screen_gamma);
|
png_set_alpha_mode(png_ptr, mode, screen_gamma);
|
||||||
|
#else
|
||||||
|
png_set_gamma(png_ptr, screen_gamma, 1.0/screen_gamma);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
The screen_gamma value is the same as the argument to png_set_gamma, however how
|
The screen_gamma value is the same as the argument to png_set_gamma; however,
|
||||||
it affects the output depends on the mode. png_set_alpha_mode() sets the file
|
how it affects the output depends on the mode. png_set_alpha_mode() sets the
|
||||||
gamma default to 1/screen_gamma, so normally you don't need to call
|
file gamma default to 1/screen_gamma, so normally you don't need to call
|
||||||
png_set_gamma. If you need different defaults call png_set_gamma() before
|
png_set_gamma. If you need different defaults call png_set_gamma() before
|
||||||
png_set_alpha_mode() - if you call it after it will override the settings made
|
png_set_alpha_mode() - if you call it after it will override the settings made
|
||||||
by png_set_alpha_mode().
|
by png_set_alpha_mode().
|
||||||
@ -756,10 +758,11 @@ scaled, linear encoded, pre-multiplied component values must
|
|||||||
be used!
|
be used!
|
||||||
|
|
||||||
The remaining modes assume you don't need to do any further color correction or
|
The remaining modes assume you don't need to do any further color correction or
|
||||||
that if you do your color correction software knows all about alpha (it
|
that if you do, your color correction software knows all about alpha (it
|
||||||
probably doesn't!)
|
probably doesn't!)
|
||||||
|
|
||||||
PNG_ALPHA_STANDARD: The data libpng produces is encoded in the standard way
|
PNG_ALPHA_STANDARD: The data libpng produces
|
||||||
|
is encoded in the standard way
|
||||||
assumed by most correctly written graphics software.
|
assumed by most correctly written graphics software.
|
||||||
The gamma encoding will be removed by libpng and the
|
The gamma encoding will be removed by libpng and the
|
||||||
linear component values will be pre-multiplied by the
|
linear component values will be pre-multiplied by the
|
||||||
@ -789,7 +792,8 @@ dynamic range. To avoid problems, and if your software
|
|||||||
supports it, use png_set_expand_16() to force all
|
supports it, use png_set_expand_16() to force all
|
||||||
components to 16 bits.
|
components to 16 bits.
|
||||||
|
|
||||||
PNG_ALPHA_OPTIMIZED: This mode is the same as PNG_ALPHA_STANDARD except that
|
PNG_ALPHA_OPTIMIZED: This mode is the same
|
||||||
|
as PNG_ALPHA_STANDARD except that
|
||||||
completely opaque pixels are gamma encoded according to
|
completely opaque pixels are gamma encoded according to
|
||||||
the screen_gamma value. Pixels with alpha less than 1.0
|
the screen_gamma value. Pixels with alpha less than 1.0
|
||||||
will still have linear components.
|
will still have linear components.
|
||||||
@ -809,10 +813,11 @@ representation of non-opaque pixels are irrelevant.
|
|||||||
You can also try this format if your software is broken;
|
You can also try this format if your software is broken;
|
||||||
it might look better.
|
it might look better.
|
||||||
|
|
||||||
PNG_ALPHA_BROKEN: This is PNG_ALPHA_STANDARD however all component values,
|
PNG_ALPHA_BROKEN: This is PNG_ALPHA_STANDARD;
|
||||||
|
however, all component values,
|
||||||
including the alpha channel are gamma encoded. This is
|
including the alpha channel are gamma encoded. This is
|
||||||
an appropriate format to try if your software, or more
|
an appropriate format to try if your software, or more
|
||||||
likely hardware, is totally broken: if it performs
|
likely hardware, is totally broken, i.e., if it performs
|
||||||
linear arithmetic directly on gamma encoded values.
|
linear arithmetic directly on gamma encoded values.
|
||||||
|
|
||||||
In most cases of broken software or hardware the bug in the final display
|
In most cases of broken software or hardware the bug in the final display
|
||||||
@ -828,14 +833,14 @@ them, there are three recommended ways of using png_set_alpha_mode():
|
|||||||
screen_gamma);
|
screen_gamma);
|
||||||
|
|
||||||
You can do color correction on the result (libpng does not currently
|
You can do color correction on the result (libpng does not currently
|
||||||
support color correction internally.) When you handle the alpha channel
|
support color correction internally). When you handle the alpha channel
|
||||||
you need to undo the gamma encoding and multiply out the alpha.
|
you need to undo the gamma encoding and multiply out the alpha.
|
||||||
|
|
||||||
png_set_alpha_mode(png_ptr, PNG_ALPHA_STANDARD,
|
png_set_alpha_mode(png_ptr, PNG_ALPHA_STANDARD,
|
||||||
screen_gamma);
|
screen_gamma);
|
||||||
png_set_expand_16(png_ptr);
|
png_set_expand_16(png_ptr);
|
||||||
|
|
||||||
If you are using the high level interface don't call png_set_expand_16();
|
If you are using the high level interface, don't call png_set_expand_16();
|
||||||
instead pass PNG_TRANSFORM_EXPAND_16 to the interface.
|
instead pass PNG_TRANSFORM_EXPAND_16 to the interface.
|
||||||
|
|
||||||
With this mode you can't do color correction, but you can do arithmetic,
|
With this mode you can't do color correction, but you can do arithmetic,
|
||||||
@ -847,7 +852,7 @@ including composition and scaling, on the data without further processing.
|
|||||||
You can avoid the expansion to 16-bit components with this mode, but you
|
You can avoid the expansion to 16-bit components with this mode, but you
|
||||||
lose the ability to scale the image or perform other linear arithmetic.
|
lose the ability to scale the image or perform other linear arithmetic.
|
||||||
All you can do is compose the result onto a matching output. Since this
|
All you can do is compose the result onto a matching output. Since this
|
||||||
mode is libpng specific you also need to write your own composition
|
mode is libpng-specific you also need to write your own composition
|
||||||
software.
|
software.
|
||||||
|
|
||||||
If you don't need, or can't handle, the alpha channel you can call
|
If you don't need, or can't handle, the alpha channel you can call
|
||||||
@ -860,7 +865,7 @@ transparent parts of this image.
|
|||||||
|
|
||||||
The background_color is an RGB or grayscale value according to the data format
|
The background_color is an RGB or grayscale value according to the data format
|
||||||
libpng will produce for you. Because you don't yet know the format of the PNG
|
libpng will produce for you. Because you don't yet know the format of the PNG
|
||||||
file if you call png_set_background at this point you must arrange for the
|
file, if you call png_set_background at this point you must arrange for the
|
||||||
format produced by libpng to always have 8-bit or 16-bit components and then
|
format produced by libpng to always have 8-bit or 16-bit components and then
|
||||||
store the color as an 8-bit or 16-bit color as appropriate. The color contains
|
store the color as an 8-bit or 16-bit color as appropriate. The color contains
|
||||||
separate gray and RGB component values, so you can let libpng produce gray or
|
separate gray and RGB component values, so you can let libpng produce gray or
|
||||||
@ -2101,7 +2106,7 @@ to load the whole file into memory when it is interlaced.
|
|||||||
|
|
||||||
libpng includes a test program, pngvalid, that illustrates reading and
|
libpng includes a test program, pngvalid, that illustrates reading and
|
||||||
writing of interlaced images. If you can't get interlacing to work in your
|
writing of interlaced images. If you can't get interlacing to work in your
|
||||||
code and don't want to leave it to libpng (the recommended approach) see
|
code and don't want to leave it to libpng (the recommended approach), see
|
||||||
how pngvalid.c does it.
|
how pngvalid.c does it.
|
||||||
|
|
||||||
Finishing a sequential read
|
Finishing a sequential read
|
||||||
@ -3909,6 +3914,9 @@ The number libpng_vn is constructed from the major version, minor
|
|||||||
version with leading zero, and release number with leading zero,
|
version with leading zero, and release number with leading zero,
|
||||||
(e.g., libpng_vn for version 1.0.7 is 10007).
|
(e.g., libpng_vn for version 1.0.7 is 10007).
|
||||||
|
|
||||||
|
Note that this function does not take a png_ptr, so you can call it
|
||||||
|
before you've created one.
|
||||||
|
|
||||||
You can also check which version of png.h you used when compiling your
|
You can also check which version of png.h you used when compiling your
|
||||||
application:
|
application:
|
||||||
|
|
||||||
@ -4145,10 +4153,9 @@ In png_get_iCCP, the type of "profile" was changed from png_charpp
|
|||||||
to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytep.
|
to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytep.
|
||||||
|
|
||||||
There are changes of form in png.h, including new and changed macros to
|
There are changes of form in png.h, including new and changed macros to
|
||||||
declare
|
declare parts of the API. Some API functions with arguments that are
|
||||||
parts of the API. Some API functions with arguments that are pointers to
|
pointers to data not modified within the function have been corrected to
|
||||||
data not modified within the function have been corrected to declare
|
declare these arguments with PNG_CONST.
|
||||||
these arguments with PNG_CONST.
|
|
||||||
|
|
||||||
Much of the internal use of C macros to control the library build has also
|
Much of the internal use of C macros to control the library build has also
|
||||||
changed and some of this is visible in the exported header files, in
|
changed and some of this is visible in the exported header files, in
|
||||||
@ -4222,7 +4229,7 @@ Applications can now choose whether to use these macros or to call the
|
|||||||
corresponding function by defining PNG_USE_READ_MACROS or
|
corresponding function by defining PNG_USE_READ_MACROS or
|
||||||
PNG_NO_USE_READ_MACROS before including png.h. Notice that this is
|
PNG_NO_USE_READ_MACROS before including png.h. Notice that this is
|
||||||
only supported from 1.5.0 -defining PNG_NO_USE_READ_MACROS prior to 1.5.0
|
only supported from 1.5.0 -defining PNG_NO_USE_READ_MACROS prior to 1.5.0
|
||||||
will lead to a link failure.
|
will lead to a link failure.
|
||||||
|
|
||||||
Prior to libpng-1.5.4, the zlib compressor used the same set of parameters
|
Prior to libpng-1.5.4, the zlib compressor used the same set of parameters
|
||||||
when compressing the IDAT data and textual data such as zTXt and iCCP.
|
when compressing the IDAT data and textual data such as zTXt and iCCP.
|
||||||
@ -4553,7 +4560,7 @@ Other rules can be inferred by inspecting the libpng source.
|
|||||||
|
|
||||||
XIV. Y2K Compliance in libpng
|
XIV. Y2K Compliance in libpng
|
||||||
|
|
||||||
August 26, 2011
|
September 8, 2011
|
||||||
|
|
||||||
Since the PNG Development group is an ad-hoc body, we can't make
|
Since the PNG Development group is an ad-hoc body, we can't make
|
||||||
an official declaration.
|
an official declaration.
|
||||||
|
61
libpng.3
61
libpng.3
@ -1,4 +1,4 @@
|
|||||||
.TH LIBPNG 3 "August 26, 2011"
|
.TH LIBPNG 3 "September 8, 2011"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.5beta07
|
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.5beta07
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@ -977,7 +977,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
|
|||||||
.SH LIBPNG.TXT
|
.SH LIBPNG.TXT
|
||||||
libpng-manual.txt - A description on how to use and modify libpng
|
libpng-manual.txt - A description on how to use and modify libpng
|
||||||
|
|
||||||
libpng version 1.5.5beta07 - August 26, 2011
|
libpng version 1.5.5beta07 - September 8, 2011
|
||||||
Updated and distributed by Glenn Randers-Pehrson
|
Updated and distributed by Glenn Randers-Pehrson
|
||||||
<glennrp at users.sourceforge.net>
|
<glennrp at users.sourceforge.net>
|
||||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||||
@ -988,7 +988,7 @@ libpng-manual.txt - A description on how to use and modify libpng
|
|||||||
|
|
||||||
Based on:
|
Based on:
|
||||||
|
|
||||||
libpng versions 0.97, January 1998, through 1.5.5beta07 - August 26, 2011
|
libpng versions 0.97, January 1998, through 1.5.5beta07 - September 8, 2011
|
||||||
Updated and distributed by Glenn Randers-Pehrson
|
Updated and distributed by Glenn Randers-Pehrson
|
||||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||||
|
|
||||||
@ -1668,7 +1668,7 @@ or you can use the fixed point equivalent:
|
|||||||
|
|
||||||
png_set_gamma_fixed(png_ptr, PNG_FP_1*screen_gamma, PNG_FP_1/screen_gamma);
|
png_set_gamma_fixed(png_ptr, PNG_FP_1*screen_gamma, PNG_FP_1/screen_gamma);
|
||||||
|
|
||||||
If you don't know the gamma for you system it is probably 2.2 - a good
|
If you don't know the gamma for your system it is probably 2.2 - a good
|
||||||
approximation to the IEC standard for display systems (sRGB). If images are
|
approximation to the IEC standard for display systems (sRGB). If images are
|
||||||
too contrasty or washed out you got the value wrong - check your system
|
too contrasty or washed out you got the value wrong - check your system
|
||||||
documentation!
|
documentation!
|
||||||
@ -1697,16 +1697,18 @@ channel. To display these files correctly you need to compose the data onto a
|
|||||||
suitable background, as described in the PNG specification.
|
suitable background, as described in the PNG specification.
|
||||||
|
|
||||||
Libpng only supports composing onto a single color (using png_set_background;
|
Libpng only supports composing onto a single color (using png_set_background;
|
||||||
see below.) Otherwise you must do the composition yourself and, in this case,
|
see below). Otherwise you must do the composition yourself and, in this case,
|
||||||
you may need to call png_set_alpha_mode:
|
you may need to call png_set_alpha_mode:
|
||||||
|
|
||||||
#if PNG_LIBPNG_VER >= 10504
|
#if PNG_LIBPNG_VER >= 10504
|
||||||
png_set_alpha_mode(png_ptr, mode, screen_gamma);
|
png_set_alpha_mode(png_ptr, mode, screen_gamma);
|
||||||
|
#else
|
||||||
|
png_set_gamma(png_ptr, screen_gamma, 1.0/screen_gamma);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
The screen_gamma value is the same as the argument to png_set_gamma, however how
|
The screen_gamma value is the same as the argument to png_set_gamma; however,
|
||||||
it affects the output depends on the mode. png_set_alpha_mode() sets the file
|
how it affects the output depends on the mode. png_set_alpha_mode() sets the
|
||||||
gamma default to 1/screen_gamma, so normally you don't need to call
|
file gamma default to 1/screen_gamma, so normally you don't need to call
|
||||||
png_set_gamma. If you need different defaults call png_set_gamma() before
|
png_set_gamma. If you need different defaults call png_set_gamma() before
|
||||||
png_set_alpha_mode() - if you call it after it will override the settings made
|
png_set_alpha_mode() - if you call it after it will override the settings made
|
||||||
by png_set_alpha_mode().
|
by png_set_alpha_mode().
|
||||||
@ -1733,10 +1735,11 @@ scaled, linear encoded, pre-multiplied component values must
|
|||||||
be used!
|
be used!
|
||||||
|
|
||||||
The remaining modes assume you don't need to do any further color correction or
|
The remaining modes assume you don't need to do any further color correction or
|
||||||
that if you do your color correction software knows all about alpha (it
|
that if you do, your color correction software knows all about alpha (it
|
||||||
probably doesn't!)
|
probably doesn't!)
|
||||||
|
|
||||||
PNG_ALPHA_STANDARD: The data libpng produces is encoded in the standard way
|
PNG_ALPHA_STANDARD: The data libpng produces
|
||||||
|
is encoded in the standard way
|
||||||
assumed by most correctly written graphics software.
|
assumed by most correctly written graphics software.
|
||||||
The gamma encoding will be removed by libpng and the
|
The gamma encoding will be removed by libpng and the
|
||||||
linear component values will be pre-multiplied by the
|
linear component values will be pre-multiplied by the
|
||||||
@ -1766,7 +1769,8 @@ dynamic range. To avoid problems, and if your software
|
|||||||
supports it, use png_set_expand_16() to force all
|
supports it, use png_set_expand_16() to force all
|
||||||
components to 16 bits.
|
components to 16 bits.
|
||||||
|
|
||||||
PNG_ALPHA_OPTIMIZED: This mode is the same as PNG_ALPHA_STANDARD except that
|
PNG_ALPHA_OPTIMIZED: This mode is the same
|
||||||
|
as PNG_ALPHA_STANDARD except that
|
||||||
completely opaque pixels are gamma encoded according to
|
completely opaque pixels are gamma encoded according to
|
||||||
the screen_gamma value. Pixels with alpha less than 1.0
|
the screen_gamma value. Pixels with alpha less than 1.0
|
||||||
will still have linear components.
|
will still have linear components.
|
||||||
@ -1786,10 +1790,11 @@ representation of non-opaque pixels are irrelevant.
|
|||||||
You can also try this format if your software is broken;
|
You can also try this format if your software is broken;
|
||||||
it might look better.
|
it might look better.
|
||||||
|
|
||||||
PNG_ALPHA_BROKEN: This is PNG_ALPHA_STANDARD however all component values,
|
PNG_ALPHA_BROKEN: This is PNG_ALPHA_STANDARD;
|
||||||
|
however, all component values,
|
||||||
including the alpha channel are gamma encoded. This is
|
including the alpha channel are gamma encoded. This is
|
||||||
an appropriate format to try if your software, or more
|
an appropriate format to try if your software, or more
|
||||||
likely hardware, is totally broken: if it performs
|
likely hardware, is totally broken, i.e., if it performs
|
||||||
linear arithmetic directly on gamma encoded values.
|
linear arithmetic directly on gamma encoded values.
|
||||||
|
|
||||||
In most cases of broken software or hardware the bug in the final display
|
In most cases of broken software or hardware the bug in the final display
|
||||||
@ -1805,14 +1810,14 @@ them, there are three recommended ways of using png_set_alpha_mode():
|
|||||||
screen_gamma);
|
screen_gamma);
|
||||||
|
|
||||||
You can do color correction on the result (libpng does not currently
|
You can do color correction on the result (libpng does not currently
|
||||||
support color correction internally.) When you handle the alpha channel
|
support color correction internally). When you handle the alpha channel
|
||||||
you need to undo the gamma encoding and multiply out the alpha.
|
you need to undo the gamma encoding and multiply out the alpha.
|
||||||
|
|
||||||
png_set_alpha_mode(png_ptr, PNG_ALPHA_STANDARD,
|
png_set_alpha_mode(png_ptr, PNG_ALPHA_STANDARD,
|
||||||
screen_gamma);
|
screen_gamma);
|
||||||
png_set_expand_16(png_ptr);
|
png_set_expand_16(png_ptr);
|
||||||
|
|
||||||
If you are using the high level interface don't call png_set_expand_16();
|
If you are using the high level interface, don't call png_set_expand_16();
|
||||||
instead pass PNG_TRANSFORM_EXPAND_16 to the interface.
|
instead pass PNG_TRANSFORM_EXPAND_16 to the interface.
|
||||||
|
|
||||||
With this mode you can't do color correction, but you can do arithmetic,
|
With this mode you can't do color correction, but you can do arithmetic,
|
||||||
@ -1824,7 +1829,7 @@ including composition and scaling, on the data without further processing.
|
|||||||
You can avoid the expansion to 16-bit components with this mode, but you
|
You can avoid the expansion to 16-bit components with this mode, but you
|
||||||
lose the ability to scale the image or perform other linear arithmetic.
|
lose the ability to scale the image or perform other linear arithmetic.
|
||||||
All you can do is compose the result onto a matching output. Since this
|
All you can do is compose the result onto a matching output. Since this
|
||||||
mode is libpng specific you also need to write your own composition
|
mode is libpng-specific you also need to write your own composition
|
||||||
software.
|
software.
|
||||||
|
|
||||||
If you don't need, or can't handle, the alpha channel you can call
|
If you don't need, or can't handle, the alpha channel you can call
|
||||||
@ -1837,7 +1842,7 @@ transparent parts of this image.
|
|||||||
|
|
||||||
The background_color is an RGB or grayscale value according to the data format
|
The background_color is an RGB or grayscale value according to the data format
|
||||||
libpng will produce for you. Because you don't yet know the format of the PNG
|
libpng will produce for you. Because you don't yet know the format of the PNG
|
||||||
file if you call png_set_background at this point you must arrange for the
|
file, if you call png_set_background at this point you must arrange for the
|
||||||
format produced by libpng to always have 8-bit or 16-bit components and then
|
format produced by libpng to always have 8-bit or 16-bit components and then
|
||||||
store the color as an 8-bit or 16-bit color as appropriate. The color contains
|
store the color as an 8-bit or 16-bit color as appropriate. The color contains
|
||||||
separate gray and RGB component values, so you can let libpng produce gray or
|
separate gray and RGB component values, so you can let libpng produce gray or
|
||||||
@ -3078,7 +3083,7 @@ to load the whole file into memory when it is interlaced.
|
|||||||
|
|
||||||
libpng includes a test program, pngvalid, that illustrates reading and
|
libpng includes a test program, pngvalid, that illustrates reading and
|
||||||
writing of interlaced images. If you can't get interlacing to work in your
|
writing of interlaced images. If you can't get interlacing to work in your
|
||||||
code and don't want to leave it to libpng (the recommended approach) see
|
code and don't want to leave it to libpng (the recommended approach), see
|
||||||
how pngvalid.c does it.
|
how pngvalid.c does it.
|
||||||
|
|
||||||
.SS Finishing a sequential read
|
.SS Finishing a sequential read
|
||||||
@ -4887,6 +4892,9 @@ The number libpng_vn is constructed from the major version, minor
|
|||||||
version with leading zero, and release number with leading zero,
|
version with leading zero, and release number with leading zero,
|
||||||
(e.g., libpng_vn for version 1.0.7 is 10007).
|
(e.g., libpng_vn for version 1.0.7 is 10007).
|
||||||
|
|
||||||
|
Note that this function does not take a png_ptr, so you can call it
|
||||||
|
before you've created one.
|
||||||
|
|
||||||
You can also check which version of png.h you used when compiling your
|
You can also check which version of png.h you used when compiling your
|
||||||
application:
|
application:
|
||||||
|
|
||||||
@ -5123,10 +5131,9 @@ In png_get_iCCP, the type of "profile" was changed from png_charpp
|
|||||||
to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytep.
|
to png_bytepp, and in png_set_iCCP, from png_charp to png_const_bytep.
|
||||||
|
|
||||||
There are changes of form in png.h, including new and changed macros to
|
There are changes of form in png.h, including new and changed macros to
|
||||||
declare
|
declare parts of the API. Some API functions with arguments that are
|
||||||
parts of the API. Some API functions with arguments that are pointers to
|
pointers to data not modified within the function have been corrected to
|
||||||
data not modified within the function have been corrected to declare
|
declare these arguments with PNG_CONST.
|
||||||
these arguments with PNG_CONST.
|
|
||||||
|
|
||||||
Much of the internal use of C macros to control the library build has also
|
Much of the internal use of C macros to control the library build has also
|
||||||
changed and some of this is visible in the exported header files, in
|
changed and some of this is visible in the exported header files, in
|
||||||
@ -5200,7 +5207,7 @@ Applications can now choose whether to use these macros or to call the
|
|||||||
corresponding function by defining PNG_USE_READ_MACROS or
|
corresponding function by defining PNG_USE_READ_MACROS or
|
||||||
PNG_NO_USE_READ_MACROS before including png.h. Notice that this is
|
PNG_NO_USE_READ_MACROS before including png.h. Notice that this is
|
||||||
only supported from 1.5.0 -defining PNG_NO_USE_READ_MACROS prior to 1.5.0
|
only supported from 1.5.0 -defining PNG_NO_USE_READ_MACROS prior to 1.5.0
|
||||||
will lead to a link failure.
|
will lead to a link failure.
|
||||||
|
|
||||||
Prior to libpng-1.5.4, the zlib compressor used the same set of parameters
|
Prior to libpng-1.5.4, the zlib compressor used the same set of parameters
|
||||||
when compressing the IDAT data and textual data such as zTXt and iCCP.
|
when compressing the IDAT data and textual data such as zTXt and iCCP.
|
||||||
@ -5531,7 +5538,7 @@ Other rules can be inferred by inspecting the libpng source.
|
|||||||
|
|
||||||
.SH XIV. Y2K Compliance in libpng
|
.SH XIV. Y2K Compliance in libpng
|
||||||
|
|
||||||
August 26, 2011
|
September 8, 2011
|
||||||
|
|
||||||
Since the PNG Development group is an ad-hoc body, we can't make
|
Since the PNG Development group is an ad-hoc body, we can't make
|
||||||
an official declaration.
|
an official declaration.
|
||||||
@ -5790,7 +5797,7 @@ possible without all of you.
|
|||||||
|
|
||||||
Thanks to Frank J. T. Wojcik for helping with the documentation.
|
Thanks to Frank J. T. Wojcik for helping with the documentation.
|
||||||
|
|
||||||
Libpng version 1.5.5beta07 - August 26, 2011:
|
Libpng version 1.5.5beta07 - September 8, 2011:
|
||||||
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
|
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
|
||||||
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
|
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
|
||||||
|
|
||||||
@ -5813,7 +5820,7 @@ this sentence.
|
|||||||
|
|
||||||
This code is released under the libpng license.
|
This code is released under the libpng license.
|
||||||
|
|
||||||
libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, August 26, 2011, are
|
libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, September 8, 2011, are
|
||||||
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
|
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
|
||||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||||
with the following individual added to the list of Contributing Authors
|
with the following individual added to the list of Contributing Authors
|
||||||
@ -5912,7 +5919,7 @@ certification mark of the Open Source Initiative.
|
|||||||
|
|
||||||
Glenn Randers-Pehrson
|
Glenn Randers-Pehrson
|
||||||
glennrp at users.sourceforge.net
|
glennrp at users.sourceforge.net
|
||||||
August 26, 2011
|
September 8, 2011
|
||||||
|
|
||||||
.\" end of man page
|
.\" end of man page
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.TH LIBPNGPF 3 "August 26, 2011"
|
.TH LIBPNGPF 3 "September 8, 2011"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.5beta07
|
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.5beta07
|
||||||
(private functions)
|
(private functions)
|
||||||
|
2
png.5
2
png.5
@ -1,4 +1,4 @@
|
|||||||
.TH PNG 5 "August 26, 2011"
|
.TH PNG 5 "September 8, 2011"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
png \- Portable Network Graphics (PNG) format
|
png \- Portable Network Graphics (PNG) format
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
|
10
png.h
10
png.h
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* png.h - header file for PNG reference library
|
/* png.h - header file for PNG reference library
|
||||||
*
|
*
|
||||||
* libpng version 1.5.5beta07 - August 26, 2011
|
* libpng version 1.5.5beta07 - September 8, 2011
|
||||||
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||||
@ -11,7 +11,7 @@
|
|||||||
* Authors and maintainers:
|
* Authors and maintainers:
|
||||||
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
||||||
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
|
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
|
||||||
* libpng versions 0.97, January 1998, through 1.5.5beta07 - August 26, 2011: Glenn
|
* libpng versions 0.97, January 1998, through 1.5.5beta07 - September 8, 2011: Glenn
|
||||||
* See also "Contributing Authors", below.
|
* See also "Contributing Authors", below.
|
||||||
*
|
*
|
||||||
* Note about libpng version numbers:
|
* Note about libpng version numbers:
|
||||||
@ -189,7 +189,7 @@
|
|||||||
*
|
*
|
||||||
* This code is released under the libpng license.
|
* This code is released under the libpng license.
|
||||||
*
|
*
|
||||||
* libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, August 26, 2011, are
|
* libpng versions 1.2.6, August 15, 2004, through 1.5.5beta07, September 8, 2011, are
|
||||||
* Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
|
* Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
|
||||||
* distributed according to the same disclaimer and license as libpng-1.2.5
|
* distributed according to the same disclaimer and license as libpng-1.2.5
|
||||||
* with the following individual added to the list of Contributing Authors:
|
* with the following individual added to the list of Contributing Authors:
|
||||||
@ -301,7 +301,7 @@
|
|||||||
* Y2K compliance in libpng:
|
* Y2K compliance in libpng:
|
||||||
* =========================
|
* =========================
|
||||||
*
|
*
|
||||||
* August 26, 2011
|
* September 8, 2011
|
||||||
*
|
*
|
||||||
* Since the PNG Development group is an ad-hoc body, we can't make
|
* Since the PNG Development group is an ad-hoc body, we can't make
|
||||||
* an official declaration.
|
* an official declaration.
|
||||||
@ -364,7 +364,7 @@
|
|||||||
/* Version information for png.h - this should match the version in png.c */
|
/* Version information for png.h - this should match the version in png.c */
|
||||||
#define PNG_LIBPNG_VER_STRING "1.5.5beta07"
|
#define PNG_LIBPNG_VER_STRING "1.5.5beta07"
|
||||||
#define PNG_HEADER_VERSION_STRING \
|
#define PNG_HEADER_VERSION_STRING \
|
||||||
" libpng version 1.5.5beta07 - August 26, 2011\n"
|
" libpng version 1.5.5beta07 - September 8, 2011\n"
|
||||||
|
|
||||||
#define PNG_LIBPNG_VER_SONUM 15
|
#define PNG_LIBPNG_VER_SONUM 15
|
||||||
#define PNG_LIBPNG_VER_DLLNUM 15
|
#define PNG_LIBPNG_VER_DLLNUM 15
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/* pngconf.h - machine configurable file for libpng
|
/* pngconf.h - machine configurable file for libpng
|
||||||
*
|
*
|
||||||
* libpng version 1.5.5beta07 - August 26, 2011
|
* libpng version 1.5.5beta07 - September 8, 2011
|
||||||
*
|
*
|
||||||
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
VisualStudio instructions
|
VisualStudio instructions
|
||||||
|
|
||||||
libpng version 1.5.5beta07 - August 26, 2011
|
libpng version 1.5.5beta07 - September 8, 2011
|
||||||
|
|
||||||
Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
Copyright (c) 1998-2010 Glenn Randers-Pehrson
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* zlib.props - location of zlib source
|
* zlib.props - location of zlib source
|
||||||
*
|
*
|
||||||
* libpng version 1.5.5beta07 - August 29, 2011
|
* libpng version 1.5.5beta07 - September 8, 2011
|
||||||
*
|
*
|
||||||
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||||
*
|
*
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
Makefiles for libpng version 1.5.5beta07 - August 26, 2011
|
Makefiles for libpng version 1.5.5beta07 - September 8, 2011
|
||||||
|
|
||||||
pnglibconf.h.prebuilt => Stores configuration settings
|
pnglibconf.h.prebuilt => Stores configuration settings
|
||||||
makefile.linux => Linux/ELF makefile
|
makefile.linux => Linux/ELF makefile
|
||||||
|
Loading…
Reference in New Issue
Block a user