游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2039|回复: 1

如何读取资源中的bmp位图给物体贴图阿?

[复制链接]

3

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2006-2-21 17:19:00 | 显示全部楼层 |阅读模式
[em16]

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2006-4-28 17:05:00 | 显示全部楼层

Re:如何读取资源中的bmp位图给物体贴图阿?

BYTE* gltResourceBMPBits(UINT nResource, int *nWidth, int *nHeight)
        {
        HINSTANCE hInstance;        // Instance Handle
        HANDLE hBitmap;                        // Handle to bitmap resource
        BITMAPINFO bmInfo;
        BYTE *pData;

        // Find the bitmap resource
        hInstance = GetModuleHandle(NULL);
        hBitmap = LoadBitmap(hInstance,MAKEINTRESOURCE(nResource));

        if(hBitmap == NULL)
                return NULL;

        GetObject(hBitmap,sizeof(BITMAPINFO),&bmInfo);
        DeleteObject(hBitmap);

        hBitmap = LoadResource(hInstance,
                 FindResource(hInstance,MAKEINTRESOURCE(nResource), RT_BITMAP));

        if(hBitmap == NULL)
                return NULL;

        pData = (BYTE *)LockResource(hBitmap);
        pData += sizeof(BITMAPINFO)-1;

        *nWidth = bmInfo.bmiHeader.biWidth; //bm.bmWidth;
        *nHeight = bmInfo.bmiHeader.biHeight;//bm.bmHeight;

        return pData;
        }


//nResource为bmp位图的ID号,nWidth, nHeight分别取得位图的长和宽
//然后调用        glTexImage2D(GL_TEXTURE_2D,0,GL_RGB8,nWidth, nHeight, 0,
                GL_BGR_EXT, GL_UNSIGNED_BYTE, pBytes);
//制成纹理,其中 pBytes为上面函数返回的pData.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 08:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表