问题标签 [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.
c - 使用 libpng 帮助将位图转换为内存中的 png
基本上,我想使用 libpng 将位图转换为 png,而不是将其输出到 FILE*,我想将其输出到 char*。我已经看过这个相关的帖子,但我没有看到位图数据的实际使用位置。任何帮助,将不胜感激。
c++ - 编译 libpng 并将其与 netbeans 和 mingw 一起使用
我以前只使用过 Visual Studio 来开发 C++,但我刚刚搬到 netbeans 并且遇到了一些问题。
我安装了 mingw,以便我的项目能够编译,但我不知道如何向其中添加外部库。我想使用静态库,而不是 dll。
我特别关注的库是libpng
我希望这不是太特定于 IDE,我也想知道如何准备库。
视窗操作系统。
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 中执行此操作,请加分。
png - 使用 CImg 加载 PNG
我无法使用 CImg 加载 PNG。我听说您需要先获取 libpng / zlib 才能开始工作,但我不确定如何设置它。我在 Ubuntu 上。我的来源:
objective-c - 如何将 libpng 与 OpenGL 一起用于 2D 游戏?
我从OpenGL开始,我想用飞机制作一个非常简单的游戏。现在我有一个从上面看到的飞机的 PNG,我想在屏幕上绘制它。目前我只知道如何绘制旋转的三角形:
谁能帮我?谢谢。
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 获取?
rgb - 'libpng',将 PNG 文件从灰度转换为 RGB(仅转换为其中一个通道)
我有一段源代码可以将图像读取和写入 PNG 文件。但是,它只将图像写入灰度,准确地说只是黑白。
现在,如何修改它以使其写入 RGB 中的一个通道(R 或 G 或 B 都可以)?
是否有关于使用libpng进行像素操作的简短教程?
c++ - 使用 png++ 找出 png 颜色类型
我正在使用 png++,它工作正常,但您需要将像素类型设置为模板参数:
问题是我在编译时不知道它是否是 rgb、rgba 等。似乎找不到让 png++ 告诉我 png 中实际包含哪些信息的方法。
有任何想法吗?
谢谢。
opengl - 使用 libpng 将图像“分割”成段
我正在尝试使用 libpng 将图像拆分为不同的块。原因是我无法在我目前正在使用的硬件上加载大于 512x512 的纹理。我之前通过混合使用 SDL 和 SDL_Image 来完成此操作。我基本上使用 SDL_BlitSurface 中的 srcrect 参数来复制图像的一部分,然后将其转换为 OpenGL 纹理。将其与水平然后垂直的简单循环相结合,我能够获得一组纹理,每个最大为 512x512。然后只需将它们渲染到正确的位置即可。
现在,我没有使用 SDL 的奢侈,所以我认为可以通过 libpng 自己直接执行此操作。基于一些谷歌搜索,我认为这只是使用 png_read_rows 来读取我需要的部分的问题。但这就是我卡住的地方,我不确定该怎么做。
另外,如果您想知道为什么我不只是将图像拆分为 gimp/photoshop/paint 或其他什么,那是因为我不控制它们并且在运行时下载它们。
我在这里先向您的帮助表示感谢。