ubuntu - libpng 警告:使用 png_read_image 时应打开隔行处理
问题描述
我遇到了这个错误:libpng 警告:使用 png_read_image 时应打开隔行处理
根据我已经看到的答案,我尝试升级我的 libpng 版本。但是,我的系统上似乎安装了多个版本。
libpng12-0 1.2.54-1ubuntu1.1
libpng16-16 1.6.34-1ubuntu0.18.04.2
如果我运行这个命令:
ldconfig -p | grep libpng
我看到这个:
libpng16.so.16 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libpng16.so.16
libpng12.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libpng12.so.0
libpng12.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libpng12.so.0
在尝试更新 libpng 时,我执行了以下操作:
sudo apt-get update
sudo apt-get --only-upgrade install libpng16-16
我假设 1.2.54 版本是我的罪魁祸首,但我不知道为什么它甚至在那里,或者我是否应该删除它。
更新
所以我运行了以下命令,试图找出哪些包可能依赖于 1.2.54 版本,这就是我得到的:
libpng12-0
Reverse Depends:
usrmerge
libplymouth2
liblemonldap-ng-portal-perl
为了得到上述结果,我使用了这个命令:
apt-cache rdepends libpng12-0
更新#2
真的看我的apache错误日志,似乎这个错误是在apache重新启动后专门发生的,通常也会出现这个错误:
libpng warning: iCCP: known incorrect sRGB profile
解决方案
我为我的狭隘情况解决了这个问题。libpng warning: Interlace handling should be turned on when using png_read_image
每次网站访问者注册以获取更多信息时,我都会在 apache error_log 中收到这些警告之一。在我的情况下,它是由 PHP 脚本在将 png 图像显示给用户之前对其进行操作引起的。该脚本使用使用libpng的命令“imagecreatefrompng” 。我首先尝试通过使用以下命令插入一行来修复它:imageinterlace($image, 0);
为了强制图像非隔行扫描。但这没有用。我必须找到所有涉及的 png 文件,并使用照片应用程序将它们读入并将它们写成非交错 png 文件。这摆脱了那些警告信息。
推荐阅读
- opengl - OpenGL几何着色器,设置输入大小
- python - 如果用户名和密码存储在数据库中,为什么 user.is_active 为 false?
- java - 是否需要在 module-info.java 和 build.gradle.kts 中指定模块依赖项
- python - 具有空间切片问题的字符串
- php - 无法将 Laravel 与 Pusher 连接起来
- java - 有没有办法将 HashMap 的所有值放入数组中?
- java - 将数字转换为 1 的最小操作
- python - 如何将 RGBA 元组的 2D 矩阵转换为 PIL 图像?
- php - 如何修复 Mercado Libre API 上 PHP 版本的错误
- sql - 如何在 SQL 中使用 Min(date) 过滤掉 Case Statement 中的记录?