主题:菜鸟求助:关于DX装载位图的一个问题
			 kongyuhen
				 [专家分:10]  发布于 2006-05-28 10:52:00
 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
小小C [专家分:4570]  发布于 2006-05-29 17:57:00				
				在全屏独占模式下,先blt到后台页面,再flip到主页面。
在窗口模式下,直接从离屏页面blt到主页面即可。
不知道你是如何让位图跟随鼠标移动的?
							 
						
				板凳
				
					 kongyuhen [专家分:10]  发布于 2006-06-01 08:52:00
kongyuhen [专家分:10]  发布于 2006-06-01 08:52:00				
				我是这么做的,只是位图不能够正常显示出来。
请问你有QQ吗?我的QQ是276592635。
							 
						
				3 楼
				
					 Taker [专家分:10]  发布于 2006-06-15 15:26:00
Taker [专家分:10]  发布于 2006-06-15 15:26:00				
				楼主能不能把你装载和显示的函数帖出来。
							 
						
				4 楼
				
					 Avenger [专家分:660]  发布于 2006-06-20 07:33:00
Avenger [专家分:660]  发布于 2006-06-20 07:33:00				
				是不是你的位图的Left或Top的值小于0 或  Bottom或Right的值大于屏幕的高和宽而你没有对位图进行相应的剪切 导致位图在屏幕边缘附近突然消失
							 
						
				5 楼
				
					 sherrytobe [专家分:50]  发布于 2006-09-09 12:01:00
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();
这样就可以了 
让离屏页面的坐标位置和主页面相同 
							 
									
			
我来回复