使用C++绘制简单的PNG图像

4
我想从我的C++程序中创建一张PNG图片(并保存到磁盘上)。我只需要非常基本的操作,如画线、画圆、填充矩形、填充圆等。我想使用一个非常小的(理想情况下只有1个头文件和1个源文件),开源且跨平台的开发库(需要Windows和Unix)。
我已经找到了PNGwriter,但它在Ubuntu 12.04上无法与g ++ 4.6.3编译(链接问题),而且需要安装很多其他的库。
哪个是满足这些基本要求的最小库?

1
链接问题 - 错误信息是什么?你是否已经链接了库? - Karoly Horvath
我使用以下命令进行编译: g++ pngw.cpp \freetype-config --cflags` -I/usr/local/include -L/usr/local/lib -lpng -lpngwriter -lz -lfreetype第一个错误信息(我收到了几个类似的错误):对png_create_write_struct` 的引用未定义。 - SqrtPi
也许完全错误,但是可能应该是-lpngwriter -lpng而不是-lpng -lpngwriter - john
@KarolyHorvath 它给出完全相同的结果。 - SqrtPi
@SqrtPi 这篇帖子可能会有所帮助 https://bbs.archlinux.org/viewtopic.php?id=89952 看起来是libpng的某个版本问题。 - john
显示剩余3条评论
3个回答

4
我会说:CImg库(http://cimg.sourceforge.net)看起来非常适合您。它只有一个头文件,基于模板(但不是过于复杂)。非常易于使用,并且具有“draw_line()”,“draw_circle()”等方法。

1

OpenCV http://docs.opencv.org/index.html 也提供了一些基本的绘图功能。这个库可能不是最小的,但在图像处理方面被广泛使用,在Windows和Linux上得到了很好的支持。


1
也许你想使用这个库:

http://www.antigrain.com/

这比我要找的要复杂得多,但如果没有更好的解决方案,我会去看一下它。 - SqrtPi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接