BMP文件读取函数--32或者24都可以读--在VS2017--C++中可以使用

该博客介绍了一个C++编写的函数ReadBmpFile,用于读取BMP图像文件,支持32位和24位的BMP格式。函数首先打开文件,获取图像的宽度和高度,然后根据位深调整像素数据存储方式。如果高度为负,则进行反转处理,最后读取并返回像素数据。
摘要由CSDN通过智能技术生成

GLbyte*  ReadBmpFile(const char * szFileName, GLint& ImageWidth, GLint& ImageHeight)

{


    FILE* pFile;
    GLint  PixelLength;
    GLint  weishen;
    GLint Height;
    GLbyte* PixelData, *PixelData1;
                GLint n=0;//如果是24位而且高度是负数的话就可以用到它;
    pFile = _fsopen(szFileName, "rb", 64);

    if (pFile == 0)

        MessageBox(NULL, "文件打开失败", "提示", MB_OK);

    fseek(pFile, 18, 0);

    fread(&ImageWidth, 4, 1, pFile);

    fread(&ImageHeight, 4, 1, pFile);

    fseek(pFile, 28, 0);

    fread(&weishen, 4, 1, pFile);


    Height = ImageHeight;
    if (ImageHeight < 0)
    {
        
        ImageHeight = -ImageHeight;
    }

    if (weishen == 32)
    {
        PixelLength = ImageWidth * 4;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值