58 do not have the PNG file signature. As well, it is now possible to set |
59 do not have the PNG file signature. As well, it is now possible to set |
59 the library action on the detection of chunk CRC errors. It is possible |
60 the library action on the detection of chunk CRC errors. It is possible |
60 to set different actions based on whether the CRC error occurred in a |
61 to set different actions based on whether the CRC error occurred in a |
61 critical or an ancillary chunk. |
62 critical or an ancillary chunk. |
62 |
63 |
63 The changes made to the library, and bugs fixed are based on discussions |
64 For a detailed description on using libpng, read libpng-manual.txt. |
64 on the PNG-implement mailing list and not on material submitted |
65 For examples of libpng in a program, see example.c and pngtest.c. For |
65 privately to Guy, Andreas, or Glenn. They will forward any good |
66 usage information and restrictions (what little they are) on libpng, |
66 suggestions to the list. |
67 see png.h. For a description on using zlib (the compression library |
67 |
68 used by libpng) and zlib's restrictions, see zlib.h |
68 For a detailed description on using libpng, read libpng-manual.txt. For |
|
69 examples of libpng in a program, see example.c and pngtest.c. For usage |
|
70 information and restrictions (what little they are) on libpng, see |
|
71 png.h. For a description on using zlib (the compression library used by |
|
72 libpng) and zlib's restrictions, see zlib.h |
|
73 |
69 |
74 I have included a general makefile, as well as several machine and |
70 I have included a general makefile, as well as several machine and |
75 compiler specific ones, but you may have to modify one for your own needs. |
71 compiler specific ones, but you may have to modify one for your own |
|
72 needs. |
76 |
73 |
77 You should use zlib 1.0.4 or later to run this, but it MAY work with |
74 You should use zlib 1.0.4 or later to run this, but it MAY work with |
78 versions as old as zlib 0.95. Even so, there are bugs in older zlib |
75 versions as old as zlib 0.95. Even so, there are bugs in older zlib |
79 versions which can cause the output of invalid compression streams for |
76 versions which can cause the output of invalid compression streams for |
80 some images. You will definitely need zlib 1.0.4 or later if you are |
77 some images. |
81 taking advantage of the MS-DOS "far" structure allocation for the small |
|
82 and medium memory models. You should also note that zlib is a |
|
83 compression library that is useful for more things than just PNG files. |
|
84 You can use zlib as a drop-in replacement for fread() and fwrite() if |
|
85 you are so inclined. |
|
86 |
78 |
87 zlib should be available at the same place that libpng is, or at zlib.net. |
79 You should also note that zlib is a compression library that is useful |
|
80 for more things than just PNG files. You can use zlib as a drop-in |
|
81 replacement for fread() and fwrite(), if you are so inclined. |
|
82 |
|
83 zlib should be available at the same place that libpng is, or at |
|
84 https://zlib.net. |
88 |
85 |
89 You may also want a copy of the PNG specification. It is available |
86 You may also want a copy of the PNG specification. It is available |
90 as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find |
87 as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find |
91 these at http://www.libpng.org/pub/png/pngdocs.html . |
88 these at http://www.libpng.org/pub/png/pngdocs.html . |
92 |
89 |
93 This code is currently being archived at libpng.sourceforge.io in the |
90 This code is currently being archived at libpng.sourceforge.io in the |
94 [DOWNLOAD] area, and at http://libpng.download/src . If you |
91 [DOWNLOAD] area, and at http://libpng.download/src . |
95 can't find it in any of those places, e-mail me, and I'll help you find it. |
|
96 |
92 |
97 I am not a lawyer, but I believe that the Export Control Classification |
93 This release, based in a large way on Glenn's, Guy's and Andreas' |
98 Number (ECCN) for libpng is EAR99, which means not subject to export |
94 earlier work, was created and will be supported by myself and the PNG |
99 controls or International Traffic in Arms Regulations (ITAR) because it |
|
100 is open source, publicly available software, that does not contain any |
|
101 encryption software. See the EAR, paragraphs 734.3(b)(3) and 734.7(b). |
|
102 |
|
103 If you have any code changes, requests, problems, etc., please e-mail |
|
104 them to me. Also, I'd appreciate any make files or project files, |
|
105 and any modifications you needed to make to get libpng to compile, |
|
106 along with a #define variable to tell what compiler/system you are on. |
|
107 If you needed to add transformations to libpng, or wish libpng would |
|
108 provide the image in a different way, drop me a note (and code, if |
|
109 possible), so I can consider supporting the transformation. |
|
110 Finally, if you get any warning messages when compiling libpng |
|
111 (note: not zlib), and they are easy to fix, I'd appreciate the |
|
112 fix. Please mention "libpng" somewhere in the subject line. Thanks. |
|
113 |
|
114 This release was created and will be supported by myself (of course |
|
115 based in a large way on Guy's and Andreas' earlier work), and the PNG |
|
116 development group. |
95 development group. |
117 |
96 |
118 Send comments/corrections/commendations to png-mng-implement at |
97 Send comments/corrections/commendations to png-mng-implement at |
119 lists.sourceforge.net (subscription required; visit |
98 lists.sourceforge.net (subscription required; visit |
120 https://lists.sourceforge.net/lists/listinfo/png-mng-implement |
99 https://lists.sourceforge.net/lists/listinfo/png-mng-implement |
121 to subscribe). |
100 to subscribe). |
122 |
101 |
123 You can't reach Guy, the original libpng author, at the addresses |
102 Send general questions about the PNG specification to png-mng-misc |
124 given in previous versions of this document. He and Andreas will |
103 at lists.sourceforge.net (subscription required; visit |
125 read mail addressed to the png-implement list, however. |
|
126 |
|
127 Please do not send general questions about PNG. Send them to |
|
128 png-mng-misc at lists.sf.net (subscription required; visit |
|
129 https://lists.sourceforge.net/lists/listinfo/png-mng-misc to |
104 https://lists.sourceforge.net/lists/listinfo/png-mng-misc to |
130 subscribe). If you have a question about something |
105 subscribe). |
131 in the PNG specification that is related to using libpng, send it |
|
132 to me. Send me any questions that start with "I was using libpng, |
|
133 and ...". If in doubt, send questions to me. I'll bounce them |
|
134 to others, if necessary. |
|
135 |
|
136 Please do not send suggestions on how to change PNG. We have |
|
137 been discussing PNG for twenty years now, and it is official and |
|
138 finished. If you have suggestions for libpng, however, I'll |
|
139 gladly listen. Even if your suggestion is not used immediately, |
|
140 it may be used later. |
|
141 |
106 |
142 Files in this distribution: |
107 Files in this distribution: |
143 |
108 |
144 ANNOUNCE => Announcement of this version, with recent changes |
109 ANNOUNCE => Announcement of this version, with recent changes |
|
110 AUTHORS => List of contributing authors |
145 CHANGES => Description of changes between libpng versions |
111 CHANGES => Description of changes between libpng versions |
146 KNOWNBUG => List of known bugs and deficiencies |
112 KNOWNBUG => List of known bugs and deficiencies |
147 LICENSE => License to use and redistribute libpng |
113 LICENSE => License to use and redistribute libpng |
148 README => This file |
114 README => This file |
149 TODO => Things not implemented in the current library |
115 TODO => Things not implemented in the current library |
150 Y2KINFO => Statement of Y2K compliance |
116 TRADEMARK => Trademark information |
151 example.c => Example code for using libpng functions |
117 example.c => Example code for using libpng functions |
152 libpng.3 => manual page for libpng (includes libpng-manual.txt) |
118 libpng.3 => manual page for libpng (includes libpng-manual.txt) |
153 libpng-manual.txt => Description of libpng and its functions |
119 libpng-manual.txt => Description of libpng and its functions |
154 libpngpf.3 => manual page for libpng's private functions |
120 libpngpf.3 => manual page for libpng's private functions |
155 png.5 => manual page for the PNG format |
121 png.5 => manual page for the PNG format |