如何仅使用D3DXLoadSurfaceFromFile加载的位图的一部分?

时间:2013-09-25 03:38:32

标签: bitmap directx-9

我只想加载我使用D3DXLoadSurfaceFromFile从文件加载的位图的一部分。

有人可以向我解释一下这有用吗?我尝试使用RECT rect设置尺寸为top,bot,right,left,如下所示:

result = D3DXLoadSurfaceFromFile(
    surface,            //destination surface
    NULL,               //destination palette   
    NULL,               //destination rectangle
    "legotron.bmp",     //source filename
    &rect,              //source rectangle
    D3DX_DEFAULT,       //controls how image is filtered
    0,                  //for transparency (0 for none)
    NULL);              //source image info (usuallyNULL)

   //makesure file was loaded okay
   if(!SUCCEEDED(result))
   {
       MessageBox(hwnd, "Error, result did not succeed", "Error", MB_OK);
       return false;
   }

但不幸的是,结果并没有成功。我确信这是一个简单的解释,但对于我的生活,我无法弄明白。

1 个答案:

答案 0 :(得分:1)

问题还不清楚,你是否在加载图像时遇到问题,或者图像是否已加载但是表面没有你想要的纹理部分?

无论如何,我假设SUCCEEDED()是一个检查D3D_OK返回值的函数吗?我没有看到你的代码有问题,也许它与SUCCEEDED()检查功能有关。你正在对图像加载部分进行操作,不确定Source Rectangle部分,如果我没记错的话你应该将指针传递给它。