首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查libpng版本

如何检查libpng版本
EN

Stack Overflow用户
提问于 2015-11-11 00:07:56
回答 3查看 12.4K关注 0票数 4

我使用的是imagemagick,据我所知,它将png文件的处理委托给libpng库,所以我想知道如何检查使用的是哪个libpng版本?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-11 04:02:16

最简单的方法是运行

代码语言:javascript
复制
convert -list format | grep PNG

代码语言:javascript
复制
identify -list format | grep PNG

这将报告正在使用的libpng和zlib版本。

有时你会看到类似这样的东西

PNG* rw-便携网络图形(libpng 1.6.17、1.6.18)

这意味着ImageMagick是使用libpng-1.6.17编译的,并且正在使用较新的共享库libpng-1.6.18运行。这是无害的,除非它显示了两个不兼容的版本,例如(libpng-1.2.44,1.6.18)。

在Ubuntu和其他*nix平台上,您还可以从

代码语言:javascript
复制
ldd `which convert`

如果后面的命令显示了两个或更多的libpngNN实例,不要感到困惑;如果您已经安装了freetype,那么一个实例正在由coders/png.c用来解码PNG,另一个实例则在freetype中使用。

票数 7
EN

Stack Overflow用户

发布于 2015-11-11 00:24:58

您可以尝试以下任何一种方法:

代码语言:javascript
复制
convert -debug coder xc: a.png 2>&1 | grep version

  IM version     = 6.9.2-5
  Libpng version = 1.6.18
  Zlib version   = 1.2.5

或者,这个

代码语言:javascript
复制
identify -list configure| grep CFLAGS

CFLAGS         -I/usr/include/libxml2 -I/usr/local/Cellar/libpng/1.6.18/include/libpng16 -I/usr/local/Cellar/freetype/2.6_1/include/freetype2 -I/usr/local/Cellar/fontconfig/2.11.1/include -I/usr/local/Cellar/freetype/2.6_1/include/freetype2 -I/usr/local/Cellar/pixman/0.32.8/include/pixman-1 -I/usr/local/Cellar/glib/2.46.1_1/include/glib-2.0 -I/usr/local/Cellar/glib/2.46.1_1/lib/glib-2.0/include -I/usr/local/opt/gettext/include -I/usr/local/Cellar/cairo/1.14.4/include/cairo -D_REENTRANT -I/usr/local/Cellar/libpng/1.6.18/include/libpng16 -I/usr/local/Cellar/freetype/2.6_1/include/freetype2 -I/usr/local/Cellar/fontconfig/2.11.1/include -I/usr/local/Cellar/freetype/2.6_1/include/freetype2 -I/usr/local/Cellar/pixman/0.32.8/include/pixman-1 -I/usr/local/Cellar/glib/2.46.1_1/include/glib-2.0 -I/usr/local/Cellar/glib/2.46.1_1/lib/glib-2.0/include -I/usr/local/opt/gettext/include -I/usr/local/Cellar/cairo/1.14.4/include/cairo -I/usr/local/Cellar/gdk-pixbuf/2.32.1/include/gdk-pixbuf-2.0 -I/usr/local/Cellar/librsvg/2.40.11/include/librsvg-2.0 -I/usr/local/Cellar/libpng/1.6.18/include/libpng16 -I/usr/local/Cellar/xz/5.2.2/include -I/usr/local/Cellar/freetype/2.6_1/include/freetype2 -I/usr/local/Cellar/freetype/2.6_1/include/freetype2 -I/usr/local/Cellar/fontconfig/2.11.1/include -I/usr/local/Cellar/freetype/2.6_1/include/freetype2    -g -O2 -Wall -mtune=core2 -fexceptions -D_FORTIFY_SOURCE=0 -D_THREAD_SAFE -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
PCFLAGS        -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16

或者,在Ubuntu上

代码语言:javascript
复制
strace  convert xc: a.png 2>&1 | grep open | grep libpng
票数 1
EN

Stack Overflow用户

发布于 2018-05-23 03:35:16

此Ruby单行代码仅显示数字:

代码语言:javascript
复制
ruby -e 'im_formats = `convert -list format`; mdata = /(\(libpng\s)([^)]+)([)])/.match(im_formats); puts mdata[2];'
=> 1.6.34
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33634402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档