用directX 实现缩放的问题

zhengyi1975 2003-12-01 10:24:28
我用如下代码将后台表面的图像显示到前台。
如果是1:1或者自动缩放和窗口一样大小的显示,多大的图都没有问题,显示位置也正确。
但是 如果图像尺寸稍大比如512x512当放大成1:2的时候,显示位置就乱了,窗口裁剪也不起作用了。非常奇怪的是如果是1024x1024的图按1:1显示就没有问题,好像
不是显存大小的问题。

我用的是directx9 sdk.
多指教,谢谢。

void CDirectDrawWindow::DisplayPrimary()
{
HRESULT ddrval;
while( 1 )
{
ddrval = m_lpddPrimary->Blt( &m_rcDst, m_lpddBack,NULL , DDBLT_WAIT,NULL);
TRACE(" The primary draw is %d \n",ddrval);
if( ddrval == DD_OK )
{
break;
}
if( ddrval == DDERR_SURFACELOST )
{
if(!RestoreSurfaces())
{
return;
}
}
if( ddrval != DDERR_WASSTILLDRAWING )
{
return;
}

}
}
...全文
221 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
EndDuke 2003-12-14
  • 打赏
  • 举报
回复
恩这个我也遇到过,忘记错在什么地方了~~~不过我写的是一个3D下的Draw类,喜欢的话你把信箱给我我给你发过去
CHINACFC 2003-12-02
  • 打赏
  • 举报
回复
LoadImage可以在加载图片时任意缩放图片,不管加如什么样的图片,只要设置了图片的宽和高就可以按这个格式缩放图片。
我记得图片贴到窗口外边时就不会显示图片,就是帖图的x,y坐标不在窗口内。
如果大过好象也不行,记不清了。

8,305

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧