主题:菜鸟求助:关于DX装载位图的一个问题
kongyuhen
[专家分:10] 发布于 2006-05-28 10:52:00
当我向后备表面装载的一个800*600*24位图,把它BLT到主表面时能够成功;但从离屏表面装装载的位图如32*32*24的位图BLT到后备表后,可以移动,但不能够正常在主表面显示。是不是要做色彩转换,我也做过这方面的尝试,但没成功。
另外,位图不能够很好的跟随鼠标移动。
请知道的指教一下,先谢谢了。
回复列表 (共5个回复)
沙发
小小C [专家分:4570] 发布于 2006-05-29 17:57:00
在全屏独占模式下,先blt到后台页面,再flip到主页面。
在窗口模式下,直接从离屏页面blt到主页面即可。
不知道你是如何让位图跟随鼠标移动的?
板凳
kongyuhen [专家分:10] 发布于 2006-06-01 08:52:00
我是这么做的,只是位图不能够正常显示出来。
请问你有QQ吗?我的QQ是276592635。
3 楼
Taker [专家分:10] 发布于 2006-06-15 15:26:00
楼主能不能把你装载和显示的函数帖出来。
4 楼
Avenger [专家分:660] 发布于 2006-06-20 07:33:00
是不是你的位图的Left或Top的值小于0 或 Bottom或Right的值大于屏幕的高和宽而你没有对位图进行相应的剪切 导致位图在屏幕边缘附近突然消失
5 楼
sherrytobe [专家分:50] 发布于 2006-09-09 12:01:00
在filp的时候
RECT Window;
POINT pt;
GetClientRect(hwnd, &Window);
pt.x=pt.y=0;
ClientToScreen(hwnd, &pt);
OffsetRect(&Window, pt.x, pt.y);
HRESULT rval=lpDDSFront->Blt(&Window, lpDDSBack, NULL, DDBLT_WAIT, NULL);
if(rval == DDERR_SURFACELOST) lpDDSFront->Restore();
这样就可以了
让离屏页面的坐标位置和主页面相同
我来回复