我做过最小的外接圆问题。
我想知道,如果我有n个点,半径和圆心的形式,那么我可以在图上打印所有这些东西。
打印意味着“我能做一个图像吗?”
如果有人知道,请告诉我我必须学习的东西。
发布于 2013-05-22 08:10:08
就其本身而言,无论是C++还是其标准库都不包含任何用于处理图像的函数。要处理图像(加载、保存等),您需要自己完成繁重的工作,或者链接到第三方库。
最简单的方法是将映像转储到Netpbm format中的磁盘。这种格式非常简单,你可以不用自己写东西。也有一个library可以做到这一点。该格式不使用任何压缩,因此最终得到的图像可能比预期的要大,但如果您只是进行探索性编码,那么它可能就足够好了。
其他库包括libjpeg和libpng。这两个库都是特定于格式的(它们只适用于特定的图像格式)。不特定于格式的库包括OpenCV,它实际上在内部使用libjpeg和libpng。
编辑
读完你的问题后,我意识到你的问题不仅仅是保存图像,它实际上是创建它(以及保存它)。“创建”图像的最简单方法是分配一个字节数组。从逻辑上讲,数组是二维的:通常,第一维对应于图像的高度,第二维对应于宽度。一旦你创建了你的图像,你就可以通过设置数组中的值来“绘制”它。例如,要绘制一条线,可以枚举线上的(x,y)位置,并将每个位置的像素值设置为所需的值。
最后,当您想要输出图像时,请参阅我的答案的第一部分。
发布于 2013-05-22 08:10:10
要创建图像,您必须处理外部库等。你真的需要它吗?
看起来您正在处理一个“科学应用程序”,我建议您输出一个.txt文件并使用gnuplot来绘制您的图像
发布于 2013-05-22 08:10:17
您可以使用cimg或opengl。对于后者,请查看此问题OpenGL - draw pixels to screen?
https://stackoverflow.com/questions/16686568
复制