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

标签 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 文件加载到一个 vector 中,其中 4 个字符(字节)给出一个像素(RGBA 格式)。因此,通过一次加载 4 个字符,您将获得一个像素。

没用过,不过看起来好用

关于c++ - 在 C++ 中迭代 .bmp 的像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28241926/

相关文章:

c++ - 为什么加载共享库时出现错误

c++ - 不断收到错误 "is not a class or namespace"或 "cannot call member function without object"

c++ - 与包含的类型相比,C++ 中的数组如何对齐? 2个

c - 调整 .bmp 文件大小和生成的文件大小错误

c++ - BMP 创建 - C++ ofstream 输出损坏

c++ - 在播种伪随机引擎后, std::random_device 是否应该保持事件状态?

c++ - 我究竟应该在我的 OpenGL C++ 项目中的什么地方添加我的 BMP 文件?使用适用于 Mac 的 Xcode

java - 在Android应用程序中定义位图的大小

delphi - delphi TBitmap是否支持alpha channel

c++ - 您可以将数据传递到没有指向变量的指针的空指针中吗