在 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 个字符,您将获得一个像素。
没用过,不过看起来好用
注意:由于评论建议使用位图,我将标题从 .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 个字符,您将获得一个像素。
没用过,不过看起来好用