0

我已经完成了最小的封闭圆问题。

我想知道我是否有 n 个点和半径和中心形式的圆,而不是我可以在图表上打印所有这些东西。

打印意味着“我可以制作图像吗”

如果有人知道,请告诉我我必须学习什么。

4

4 回答 4

1

就其本身而言,C++ 及其标准库都不包含任何处理图像的函数。要处理图像(加载、保存等),您需要自己完成工作,或者与第三方库链接。

最简单的方法是以Netpbm 格式将图像转储到磁盘。这种格式非常简单,你可以自己写东西。也有一个图书馆可以做到这一点。该格式不使用任何压缩,因此您最终会得到比您预期更大的图像,但如果您只是进行探索性编码,那么它可能就足够了。

其他库包括libjpeglibpng。这两个库都是特定于格式的(它们仅适用于某种图像格式)。不特定格式的库包括OpenCV,它实际上在内部使用 libjpeg 和 libpng。

编辑

阅读您的问题后,我意识到您的问题不仅仅是保存图像,它实际上是创建它(以及保存它)。“创建”图像的最简单方法是分配一个字节数组。从逻辑上讲,数组是二维的:通常,第一维对应于图像的高度,第二维对应于宽度。创建图像后,您可以通过设置数组中的值在其上“绘制”。例如,要绘制一条线,您可以枚举线上的 (x, y) 位置,并将每个位置的像素值设置为所需的值。

最后,当你想输出图像时,参考我回答的第一部分。

于 2013-05-22T08:10:08.393 回答
0

要创建图像,您将不得不处理外部库等……您真的需要吗?

看来你正在处理一个“科学应用程序”,我建议输出一个 .txt 文件并使用 gnuplot 来绘制你的图像

于 2013-05-22T08:10:10.053 回答
0

您可以使用cimg或 opengl。对于后者,请查看这个问题OpenGL - draw pixel to screen?

于 2013-05-22T08:10:17.487 回答
0

您可能喜欢使用 libpng,也可以选择使用 png++。

于 2013-05-22T08:57:15.443 回答