问题标签 [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 投票
1 回答
4521 浏览

c - 使用 libpng 帮助将位图转换为内存中的 png

基本上,我想使用 libpng 将位图转换为 png,而不是将其输出到 FILE*,我想将其输出到 char*。我已经看过这个相关的帖子,但我没有看到位图数据的实际使用位置。任何帮助,将不胜感激。

0 投票
1 回答
1280 浏览

c++ - 编译 libpng 并将其与 netbeans 和 mingw 一起使用

我以前只使用过 Visual Studio 来开发 C++,但我刚刚搬到 netbeans 并且遇到了一些问题。

我安装了 mingw,以便我的项目能够编译,但我不知道如何向其中添加外部库。我想使用静态库,而不是 dll。

我特别关注的库是libpng

我希望这不是太特定于 IDE,我也想知道如何准备库。

视窗操作系统。

0 投票
2 回答
4724 浏览

c++ - 将 libpng 与 g++ 链接

我正在尝试让 libpng 在 linux 上运行。我无法让它通过 netbeans 工作,所以我直接运行 g++g++ -lpng -lz main.cpp -o test并编译。当我尝试运行它时,它会输出./test: error while loading shared libraries: libpng14.so.14: cannot open shared object file: No such file or directory. 我认为这意味着我正在动态链接并且找不到 .so 文件

~/Programs/NetBeansProjects/DiamondSquare$ ldd test linux-gate.so.1 => (0x008a5000) libpng14.so.14 => not found libz.so.1 => /usr/local/lib/libz.so.1 (0x00209000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0094b000) libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x00e3a000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00927000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00220000) /lib/ld-linux.so.2 (0x00b85000)

首先,我真的不想动态链接。我该如何解决这个问题?

我知道 libpng14.so.14 也在 /usr/local/lib 中,如果这很重要的话。

如果您能告诉我如何在 netbeans 中执行此操作,请加分。

0 投票
1 回答
4334 浏览

png - 使用 CImg 加载 PNG

我无法使用 CImg 加载 PNG。我听说您需要先获取 libpng / zlib 才能开始工作,但我不确定如何设置它。我在 Ubuntu 上。我的来源:

0 投票
2 回答
1043 浏览

objective-c - 如何将 libpng 与 OpenGL 一起用于 2D 游戏?

我从OpenGL开始,我想用飞机​​制作一个非常简单的游戏。现在我有一个从上面看到的飞机的 PNG,我想在屏幕上绘制它。目前我只知道如何绘制旋转的三角形:

谁能帮我?谢谢。

0 投票
3 回答
1316 浏览

c++ - 将 libpng 与 Borland C++ 链接

我使用OpenGL在 Mac OS X 上制作了一个程序并动态链接libpng。我现在正在尝试将其移植到 Windows。每当我尝试在 Borland 中编译和链接我的移植程序时,它都会给我这个错误以及大约 10 个相同的错误,但具有不同的“_png_create_read_struct”:

错误:来自 C:\PROGRAMMING\PNGTEST.OBJ 的未解析外部“_png_create_read_struct”引用

我认为这是因为我没有使用 Borland C++ 5.5.1 for Win32正确设置 libpng 。我已将 png.h 和 pngconf.h 放入 C:\Borland\BCC55\Include 的 include 文件夹中,我已将 libpng12.dll.a、libpng13.a、libpng13.dll.a、libpng.a、libpng .dll.a、libpng12.def、libpng.def、libpng12.la 和 libpng.la 到 C:\Borland\BCC55\Lib (可能不需要全部,但作为菜鸟我不知道哪些需要而不是)。

我还需要在那里放一个 libpng.obj 文件吗?如果是这样,我将如何制作/获得一个?我曾尝试使用 makefile.bc32 来设置 libpng,但这给了我一个缺少分隔符的错误。

这是我的命令行选项:

我在我的代码中包含了 png.h。我做错了什么,或者有没有更好的方法来加载不需要 libpng 的 alpha 图像,或者甚至是更好的编译器来为 Windows 获取?

0 投票
2 回答
3419 浏览

c++ - PNG++ 读取像素颜色值

如何使用png++读取 png 中的像素颜色值?我在文档中看不到任何读取值的方式。我需要单独获取所有值 rgba 并将它们附加到 char 数组中。

0 投票
1 回答
2303 浏览

rgb - 'libpng',将 PNG 文件从灰度转换为 RGB(仅转换为其中一个通道)

我有一段源代码可以将图像读取和写入 PNG 文件。但是,它只将图像写入灰度,准确地说只是黑白。

现在,如何修改它以使其写入 RGB 中的一个通道(R 或 G 或 B 都可以)?

是否有关于使用libpng进行像素操作的简短教程?

0 投票
2 回答
1263 浏览

c++ - 使用 png++ 找出 png 颜色类型

我正在使用 png++,它工作正常,但您需要将像素类型设置为模板参数:

问题是我在编译时不知道它是否是 rgb、rgba 等。似乎找不到让 png++ 告诉我 png 中实际包含哪些信息的方法。

有任何想法吗?

谢谢。

0 投票
1 回答
1735 浏览

opengl - 使用 libpng 将图像“分割”成段

我正在尝试使用 libpng 将图像拆分为不同的块。原因是我无法在我目前正在使用的硬件上加载大于 512x512 的纹理。我之前通过混合使用 SDL 和 SDL_Image 来完成此操作。我基本上使用 SDL_BlitSurface 中的 srcrect 参数来复制图像的一部分,然后将其转换为 OpenGL 纹理。将其与水平然后垂直的简单循环相结合,我能够获得一组纹理,每个最大为 512x512。然后只需将它们渲染到正确的位置即可。

现在,我没有使用 SDL 的奢侈,所以我认为可以通过 libpng 自己直接执行此操作。基于一些谷歌搜索,我认为这只是使用 png_read_rows 来读取我需要的部分的问题。但这就是我卡住的地方,我不确定该怎么做。

另外,如果您想知道为什么我不只是将图像拆分为 gimp/photoshop/paint 或其他什么,那是因为我不控制它们并且在运行时下载它们。

我在这里先向您的帮助表示感谢。