IndoorunMap_Core 2.3.0

IndoorunMap_Core 2.3.0

许可证 自定义
发布最新发布2017年1月

yanli维护。



  • yl

libpng版本1.5.13的README - 2012年9月27日(共享库15.0)请参阅png.h顶部关于版本号的注释

请参阅INSTALL以获取安装libpng的说明。

Libpng以几种分发格式提供。如果您希望在文本文件中使用 UNIX 样式换行符,请获取libpng-.tar.gz、libpng-.tar.xz或libpng-.tar.bz2,或者如果您希望使用DOS样式换行符,请获取lpng.zip。

版本0.89是libpng的第一个正式版本。不要被它是第一个版本的事实所愚弄。libpng库自1995年中期以来就被广泛使用和测试。到了1997年底,它终于达到了API在一段时间内没有重大变化的地步,人们对小于1.0版本的库有不好的印象。1.0.0版本于1998年3月发布。


注意,png_info结构的某些更改导致此版本的库与libpng-0.89或更早版本二进制不兼容,如果您使用的是共享库。png_set_filler()的"filler"参数类型已从png_byte更改为png_uint_32,这将影响使用此函数的共享库应用程序。

为了避免png_info_struct内部更改带来的问题,0.95中提供了新的API,以避免直接允许应用程序访问info_ptr。这些函数是png_set_和png_get_函数。在访问/存储info_struct数据时应使用这些函数,而不是直接操作它,以避免未来出现此类问题。

需要注意的是,这些API并不使当前直接访问info结构的应用程序与新的库不兼容。然而,强烈建议新的程序使用新的API(如示例.c和pngtest.c所示),并且将旧程序转换为新的格式,以便于未来的升级。


自0.90以来添加的功能包括将libpng编译为Windows DLL的能力,以及用于访问info结构中数据的新API。实验性功能包括:设置行滤波选择权重的成本因素,从大端处理器的缓冲区中直接读取整数,更快地执行alpha合成,以及更准确的16->8位颜色转换。

自0.89以来添加的功能包括从签名的某些(或全部)字节已由调用应用程序读取的PNG流中读取的能力。这还允许读取没有PNG文件签名的内嵌PNG流。此外,现在可以在检测到块CRC错误时设置库的行为。可以根据CRC错误是否发生在关键块或辅助块中设置不同的操作。

对库所做的更改和修复的bug基于PNG-implement邮件列表上的讨论,而不是提交给Guy、Andreas或Glenn的私人材料。他们将任何良好的建议转发到列表。

要详细了解使用libpng,请阅读libpng-manual.txt。关于libpng在程序中的示例,请查看example.c和pngtest.c。有关libpng的用法信息和限制(所有限制都很少),请参阅png.h。有关使用zlib(libpng所使用的压缩库)及其限制的说明,请参阅zlib.h。

我已经包含了一个通用的makefile,以及几个针对机器和编译器的特定版本,但您可能需要根据您的需求对其进行修改。

您应该使用zlib 1.0.4或更高版本来运行此版本,但它可能也兼容zlib 0.95或更早版本。即使如此,较旧版本的zlib中存在可能导致某些图像输出无效压缩流的错误。如果您正在利用MS-DOS "远"结构分配以获取小型和中等内存模型,则您绝对需要zlib 1.0.4或更高版本。还应注意,zlib是一个压缩库,除了PNG文件外,对许多其他事物也很有用。如果您愿意,可以使用zlib作为fread()和fwrite()的替代品。

zlib应该可以与libpng存放在相同的位置。您可以从以下位置获得zlib:ftp://ftp.info-zip.org/pub/infozip/zlib

您还可以获取PNG规格书的副本。它可以作为一个RFC、一个W3C推荐或一个ISO/IEC标准。您可以在http://www.libpng.org/pub/png/documents/找到这些。

此代码目前存档在libpng.sf.net的[下载]区域,以及在CompuServe的Lib 20 (PNG SUPPORT)下的GO GRAPHSUP。如果您在这些地方找不到,请给我发电子邮件,我将帮助您找到。

如果您有任何代码更改、请求、问题等,请发送电子邮件给我。此外,我非常欢迎任何makefile或项目文件,以及您为编译libpng而需要做的任何修改,以及一个定义变量来告诉您正在使用的编译器/系统。如果您需要向libpng添加转换,或希望libpng以不同方式提供图像,请给我发个便条(如果有代码则更好),这样我可以考虑支持该转换。最后,如果您在编译libpng(请注意:不是zlib)时收到任何警告消息,并且它们很容易修复,我将非常感激修复。请将“libpng”等单词包含在主题行中。谢谢。

此版本是由我本人创建和支持的(当然基于Guy和Andreas之前工作的很大一部分),以及PNG开发组。

请将评论/纠正/表扬发送到png-mng-implement@lists.sourceforge.net(需要订阅;请访问https://lists.sourceforge.net/lists/listinfo/png-mng-implement进行订阅)或发送到glennrp@users.sourceforge.net

您无法联系到Guy,即原始的libpng作者,在先前版本的此文档中给出的地址。他从Agustin和Andreas处阅读指向png-implement列表的邮件。

请不要发送关于PNG的普通问题。请将它们发送到png-mng-misc@lists.sf.net(需要订阅;请访问https://lists.sourceforge.net/lists/listinfo/png-mng-misc进行订阅)。如果您有关于PNG规范的问题与使用libpng有关,请发送给我。发送以"I was using libpng, and ...”开头的任何问题。如果有疑问,请发给我。如果需要,我会将它们转发给其他人。

请不要提出如何修改PNG的建议。我们讨论PNG已经有16年了,现在是官方和完成的。然而,如果您有任何关于libpng的建议,我将非常乐意倾听。即使您的建议不会立即被使用,也可能会在以后使用。

本分发中的文件

  ANNOUNCE      =>  Announcement of this version, with recent changes
  CHANGES       =>  Description of changes between libpng versions
  KNOWNBUG      =>  List of known bugs and deficiencies
  LICENSE       =>  License to use and redistribute libpng
  README        =>  This file
  TODO          =>  Things not implemented in the current library
  Y2KINFO       =>  Statement of Y2K compliance
  example.c     =>  Example code for using libpng functions
  libpng.3      =>  manual page for libpng (includes libpng-manual.txt)
  libpng-manual.txt  =>  Description of libpng and its functions
  libpngpf.3    =>  manual page for libpng's private functions
  png.5         =>  manual page for the PNG format
  png.c         =>  Basic interface functions common to library
  png.h         =>  Library function and interface declarations (public)
  pngpriv.h     =>  Library function and interface declarations (private)
  pngconf.h     =>  System specific library configuration (public)
  pngstruct.h   =>  png_struct declaration (private)
  pnginfo.h     =>  png_info struct declaration (private)
  pngdebug.h    =>  debugging macros (private)
  pngerror.c    =>  Error/warning message I/O functions
  pngget.c      =>  Functions for retrieving info from struct
  pngmem.c      =>  Memory handling functions
  pngbar.png    =>  PNG logo, 88x31
  pngnow.png    =>  PNG logo, 98x31
  pngpread.c    =>  Progressive reading functions
  pngread.c     =>  Read data/helper high-level functions
  pngrio.c      =>  Lowest-level data read I/O functions
  pngrtran.c    =>  Read data transformation functions
  pngrutil.c    =>  Read data utility functions
  pngset.c      =>  Functions for storing data into the info_struct
  pngtest.c     =>  Library test program
  pngtest.png   =>  Library test sample image
  pngtrans.c    =>  Common data transformation functions
  pngwio.c      =>  Lowest-level write I/O functions
  pngwrite.c    =>  High-level write functions
  pngwtran.c    =>  Write data transformations
  pngwutil.c    =>  Write utility functions
  contrib       =>  Contributions
   gregbook         =>  source code for PNG reading and writing, from
                        Greg Roelofs' "PNG: The Definitive Guide",
                        O'Reilly, 1999
   msvctest     =>  Builds and runs pngtest using a MSVC workspace
   pngminus     =>  Simple pnm2png and png2pnm programs
   pngsuite     =>  Test images
   visupng      =>  Contains a MSVC workspace for VisualPng
  projects      =>  Contains project files and workspaces for
                    building a DLL
   cbuilder5        =>  Contains a Borland workspace for building
                        libpng and zlib
   visualc6         =>  Contains a Microsoft Visual C++ (MSVC)
                        workspace for building libpng and zlib
   visualc71        =>  Contains a Microsoft Visual C++ (MSVC)
                        workspace for building libpng and zlib
   xcode            =>  Contains an Apple xcode
                        workspace for building libpng and zlib
  scripts       =>  Directory containing scripts for building libpng:
                        (see scripts/README.txt for the list of scripts)

祝好运,编码愉快。

-Glenn Randers-Pehrson(自1998年起担任维护人员)互联网:glennrp@users.sourceforge.net

-Andreas Eric Dilger(前维护人员,1996-1997)互联网:adilger@enel.ucalgary.ca 网页:http://www-mddsp.enel.ucalgary.ca/People/adilger/

作者兼前维护者 Guy Eric Schalnat (1995-1996)(原集团42公司)互联网:gschal@infinet.com