以C++方式遍历.bmp的像素



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

我正在制作这个简单的基于2D网格的CMD游戏,我想制作.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 个字符,您将获得一个像素。

我以前没有用过它,但它看起来很容易使用。

最新更新