在 C++ 中迭代 .bmp 的像素

Iterating through the pixels of a .bmp in C++

注意:由于评论建议使用位图,我将标题从 .png 更改为 .bmp。

我正在制作这个基于 CMD-game 的简单二维网格,我想制作 .png 关卡并将它们转换为我的游戏的关卡数据。

所以基本上我想知道的是,我将如何遍历 bmp 的像素以将其解析为某种级别的数据。

这是我用 .txt 做的

int x = 0;
int y = 0;
std::ifstream file(filename);
std::string str;
while (std::getline(file, str))
{
    x++;
    for (char& c : str) {
        y++;
        updateTile(coordinate(x), coordinate(y), c);
    }
}

我找不到任何有用的帖子,所以我发布了这个新帖子,希望我没有违反任何规则

我不知道你是否还想阅读 png 文件,但如果你想,请检查这个解码器: http://lodev.org/lodepng/

它将一个 png 文件加载到一个向量中,其中 4 个字符(字节)给出一个像素(RGBA 格式)。因此一次加载 4 个字符,您将获得一个像素。

没用过,不过看起来好用