游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1814|回复: 0

求助!关于IDirect3dSurface9和IDirect3DDevice9::StretchRect()

[复制链接]

21

主题

112

帖子

112

积分

注册会员

Rank: 2

积分
112
发表于 2006-2-15 11:36:00 | 显示全部楼层 |阅读模式
用 StretchRect() 时出现错误,不太明白,请高人相助!
                LPDIRECT3DSURFACE9 lpTexSur,lpBackSur;
        LPDIRECT3DTEXTURE9 lpTex;
        RECT rect1={0,0,256,256};
        RECT rect2={100,100,356,356};
        if(FAILED(D3DXCreateTextureFromFile(g_lpD3DDev,"res\\x.bmp",&lpTex)))
                MessageBox(hWnd,"no x.bmp!",NULL,NULL);
               if(FAILED(g_lpD3DDev->GetBackBuffe(      0,0,D3DBACKBUFFER_TYPE_MONO,&lpBackSur)))
                MessageBox(hWnd,"Get Back Buffer Fail!",NULL,NULL);
        if(FAILED(lpTex->GetSurfaceLevel(0,&lpTexSur)))
                MessageBox(hWnd,"Tex Get Surface Level Fail!",NULL,NULL);
        if(FAILED(g_lpD3DDev->StretchRect( lpTexSur,&rect1,lpBackSur,&rect2,D3DTEXF_NONE )))
                MessageBox(hWnd,"Stretch Rect Fail!!!",NULL,NULL);
        else
                MessageBox(hWnd,"SUCCEEDED!!!",NULL,NULL);

运行结果是StretchRect()时失败.看了SDK,只能看懂个大概,是因为TEXSURFACE不能向BACKSURFACE复制?不太清楚.请大大帮忙啊,THANK YOU!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 10:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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