游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1397|回复: 2

????????????

[复制链接]

22

主题

30

帖子

32

积分

注册会员

Rank: 2

积分
32
发表于 2004-12-22 16:12:00 | 显示全部楼层 |阅读模式
????????????BMP?????Surface??????

???????lpSurface ?????LPDIRECTDRAWSURFACE7 ???
??????????BMP?????,? "C:\\aaa.bmp"

HRESULT CreateSurfaceFormBitmap(LPDIRECTDRAWSURFACE7 lpSurface,TCHAR *Path)
{
                HDC hdc_surf;
        HDC hdc_image;
        HBITMAP hbmp1;
        BITMAP bmp1;
        DDSURFACEDESC2 ddsd_t;

        hbmp1 = (HBITMAP)LoadImage(0,Path,IMAGE_BITMAP,0,0,LR_LOADFROMFILE | LR_DEFAULTSIZE);
       
        hdc_image = CreateCompatibleDC(NULL);
           
        SelectObject(hdc_image,hbmp1);
        GetObject(hbmp1,sizeof(bmp1),&bmp1);
       
        ZeroMemory(&ddsd_t,sizeof(ddsd_t));
        ddsd_t.dwSize = sizeof(ddsd_t);
        ddsd_t.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
        ddsd_t.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
        ddsd_t.dwHeight = bmp1.bmHeight;
        ddsd_t.dwWidth = bmp1.bmWidth;
       
        rsl = lpdraw->CreateSurface(&ddsd_t,&lpSurface,NULL);
        if (FAILED(rsl))
                    MessageBox(hWnd,"error1","error1",0);

        rsl = lpSurface->GetDC(&hdc_surf);
                if (FAILED(rsl))
            MessageBox(hWnd,"error3","error3",0);

        StretchBlt(hdc_surf,0,0,bmp1.bmWidth,bmp1.bmHeight,hdc_image,0,0,bmp1.bmWidth,bmp1.bmHeight,SRCCOPY);
        lpSurface->ReleaseDC(hdc_surf);
        DeleteDC(hdc_image);
        DeleteObject(hbmp1);
        return DD_OK;
}
??????????????? GetSurfaceDesc????????Surface??????????????????????GetSurfaceDesc??????????????????????????????????????

????????????Directx SDK ??????Debug ?????????????
Directx9.0c ???????Directx7.0 SDK ? Directx8.1b SDK ????dxdiag?????
??"Directx ??"?????????? ??"???????????????????????????

[em4]

1

主题

130

帖子

135

积分

注册会员

Rank: 2

积分
135
发表于 2004-12-22 16:26:00 | 显示全部楼层

Re:????????????

??????Surface????....
?????HRESULT CreateSurfaceFormBitmap(LPDIRECTDRAWSURFACE7* lppSurface,TCHAR *Path)
????surface??????,??????????,?????2???.??????????????....??????hr??????

GetSurfaceDesc????????????????0??,??????,??????????????????....??????????????,????????,??
if(FAILED(hr) )
   return E_FAIL;

22

主题

30

帖子

32

积分

注册会员

Rank: 2

积分
32
 楼主| 发表于 2004-12-22 19:18:00 | 显示全部楼层

Re: ????????????

?????????????????????????????LPDIRECTDRAWSURFACE7 ?????????????? [em13]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 19:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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