问题标签 [libpng]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2303 浏览

c++ - 使用 libpng 调整(双三次)图像列表的大小

有人可以指点我一个教程,其中解释了如何使用 libpng 和 png++ 在图像上应用双三次调整大小?我花了将近三个小时寻找一些东西,但找不到。也许是因为我不知道在哪里看。

图像(48 位图像)被读取,libpng然后读入QImage用于输出。如果我QImage::scaled在图像上使用,像素信息会丢失,图像对我需要的东西没有用处。

我使用 png::rgba_pixel_16 像素读取和操作图像 - 像这样读取它:

png::image< png::rgba_pixel_16 > myImage(myFile.toAscii());

引用另一个答案:

QImage 中每种组件格式没有 16 位。您可以获得的最多是 QImage::Format_ARGB32 每个组件 8 位。即使您使用 8 位索引模式,颜色表也不支持每个组件超过 8 位。此外,QImageIOHandler 类是根据 QImage 工作的,因此很遗憾,您无法创建自定义图像格式插件来处理每个颜色分量 16 位。

最后一句话解释了为什么我不能为此使用 QImage 。

0 投票
1 回答
9272 浏览

c++ - 有没有 64 位的 libPNG?

我对 libPNG 有疑问,这让我相信我需要 64 位版本的 libPNG 才能在 64 位计算机上运行我的应用程序。错误是IMG_Load: Failed loading libpng15-15.dll: %1 is not a valid Win32 application.根据该站点上的其他一些帖子,这是一个 32 位 DLL,这是问题所在吗?

0 投票
5 回答
9295 浏览

ios - 使用 Xcode 4.3.1 归档应用程序会导致 pngcrush 捕获 libpng 错误:

该应用程序在模拟器和设备上构建良好。但是,当我尝试将其存档以提交时,我得到: 在阅读 /Users/adga/Documents/Adams Lokalt/Appar/NU SÅ/VertragingsApp/Rotation/Customization/Herfst2011/../../../default@ 2x.png pngcrush 捕获 libpng 错误:PNG 无符号整数超出范围。

我试图在 Photoshop 中打开并替换(没有隔行扫描),但它不起作用。

有任何想法吗?

0 投票
1 回答
291 浏览

c++ - 调试 libpng-1.2.46-2 Fedora Core 16 -- .PNG 前 8 位未超过 libpng

我从 libpng 文档中直接获取了以下代码:此外,如果它有任何用途,则此代码位于从基于 gtkmm 的应用程序调用的类中。

我安装了 debuginfo,并从命令行运行 gdb。我继续单步执行代码以查看为什么该png_sig_cmp()函数说我使用 GIMP 创建的 png 的前 8 位以及我从 Internet 下载的一些其他 .png 文件无法被 png 识别。我希望 gdb 的输出比对我来说更能提供信息:

png_sig_cmp从函数返回的堆栈跟踪一是

0 投票
1 回答
627 浏览

c++ - libpng 的 C++ 抽象导致 malloc 崩溃——删除“锯齿状”二维数组时

这次崩溃对应的类是:

它以下列方式使用:

使用调试器单步执行时,ImageData 类中的 _m_rData 与我在其上使用 new 时的指针相同。我什至尝试使用 if == NULL 语句将删除语句包装在 ImageData 析构函数中。但是,我在运行我的代码时仍然得到一个 sigabrt。gdb 的堆栈跟踪是:


更新

对于任何好奇的人,以下内容现在都可以使用。显然这是 png_alaligns 数据的问题。我猜这迫使你使用 libpng 的方法调用,它在内部使用 free 和 malloc,而不是新的。这与调用 free(data) 基本相同,其中数据是使用 data = new type[N] 创建的。下面的代码描述了如何正确使用 libpng。

0 投票
4 回答
4150 浏览

xcode - Revert XCode compression with pngcrush on windows?

I have some png images extracted from IPA files and I want to get the original PNG back, I was advised that pngcush did the task required so I downloaded it and tried running the following command:

But I get a libpng error. I don't know if libpng needs to be downloaded as well, since the error doesn't says that I need a different version of libpng, just says:

I also tried this one:

And pngcrush acts as if didn't knew the command.

Any ideas on what to do?

0 投票
2 回答
4001 浏览

c - 无法使用 libpng 读取 png 文件

我是 libpng 的新手,文档对我来说真的很困惑。以下是我的代码不起作用,我看不出原因。有人可以指出我正确的方向吗?或建议不同的(“更容易”)库?

我如何理解 libpng:

  1. fopenrb模式下打开文件

  2. 创建png_structppng_create_read_struct

  3. 创建png_infoppng_create_info_struct

  4. 分配空间

  5. 读取数据

    /li>
0 投票
2 回答
8785 浏览

warnings - libpng 警告:忽略错误的自适应滤波器类型

我的应用程序被杀死,并且日志:libpng 警告:忽略错误的自适应过滤器类型。我想知道原因和解决方法。

0 投票
2 回答
5229 浏览

c++ - 对“png_read_info”的未定义引用

m trying to compile source code, but receive: undefined reference topng_read_info' 文件头:#include "PngImage.hh"

我的编译器设置: -I/usr/include/libxml2 -I/usr/include/osmpbf -O0 -g3 -Wall -c -fmessage-length=0 -lpng

我做错了什么?

更新:我正在尝试链接:-I/usr/include/libxml2 -I/usr/include/osmpbf -O0 -g3 -Wall -c -fmessage-length=0 -L/usr/include/libpng -lpng

库 libpng 已安装。我再次收到没有任何变化:未定义的对 png_read_info 的引用

固定的。我的大错。我在 Eclipse 中设置编译器设置而不是链接器设置。谢谢大家的回答

0 投票
1 回答
1759 浏览

c - libpng -- 错误:不是 PNG 文件 -- png_process_data()

我正在尝试使用 libpng 编写一个渐进式阅读器。我试图按照 libpng 源提供的 example.c 中的代码进行操作,但它不起作用。我也看过libpng doc。它指示您png_set_progressive_read_fn()png_process_data(). 在按照文档中指定的内容进行设置之后。当我开始读取 png 文件的过程时,我从 libpng 收到以下错误。

不是PNG文件

单步执行代码会发现,当png_process_data()检查 PNG 文件的签名时,会发现它不是 png 文件。这是非常特殊的行为,因为在调用我的读取函数之前,我验证该文件是一个带有以下代码的 PNG 文件。

我关闭FILE*然后在我的读取函数中重新打开一个新的,所以我不必告诉 libpng 我已经用png_set_sig_bytes(png_ptr, 8);. 我的读取功能如下。

我在(非渐进式阅读器)也有一个非渐进式阅读器的工作版本。它适用于我的文件。所以这不是我的文件的问题。


完整代码


生成文件