gpt4 book ai didi

c++ - 创建二维数组以输出 pmm 文件 C++

转载 作者:行者123 更新时间:2023-11-28 07:48:29 26 4
gpt4 key购买 nike

给我的指示非常模糊,我完全不知道我应该做什么。需要一些帮助。我会尽力解释,希望有人能帮助我。

当您设置像素 (i,j) 的颜色为 col 值时,我需要生成指定宽度和高度的 ppm 文件,如下所示:

float col = float (((i & 0x08) == 0) ^ ((j & 0x08) == 0));

您可能希望对 RGB 颜色使用以下结构:

struct RGB {
float r;
float g;
float b;
};

数组中的每个元素都在[0.0, 1.0]范围内,在写入文件之前必须转换为[0, 255]。

这是我掌握的尽可能多的信息。我真的只是迷失了他真正想让我做的事情。对于更有经验的人来说,这可能是足够的信息,但对我来说还不够。有人可以详细说明一下吗?另外,第一个公式/代码片段到底是做什么的?

我仍然不知道 i 和 j 是什么或公式是什么或如何生成写入 RGB 二维数组的值!?!?

最佳答案

PPM 是非常简单的位图格式,您在问题中已经基本描述了它。要查看更多详细信息,请谷歌或查看 http://netpbm.sourceforge.net/doc/ppm.html .

要将范围 [0.0 .. 1.0] 转换为 [0 .. 255],您只需为每个像素分量执行乘以 255.0。

总结:将 ppm header 写入文件,遍历所有像素,将其分量乘以 255,转换为整数,以文本形式写入文件。文件中的所有值均以空格分隔。

第一个代码片段告诉您如何生成图片。它基本上意味着如果从右数第四位在 i 和 j 坐标中不同,则颜色为白色,如果它们相同,则颜色为黑色。这应该会生成一个 16 x 16 方格的棋盘图案。

关于c++ - 创建二维数组以输出 pmm 文件 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14351831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com