2013-09-25 51 views
0

我想只加載一部分位圖,我使用D3DXLoadSurfaceFromFile從文件加載。如何在D3DXLoadSurfaceFromFile中只使用一部分加載的位圖?

有人可以向我解釋如何工作?我已經使用RECT rect與組維度頂部嘗試,BOT,左,右像這樣:

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

這個問題還不是很清楚,你在加載圖像時遇到了問題,或者是加載了圖像,但表面沒有你想要的紋理部分?

不管怎樣,我假設SUCCEEDED()是一個函數,它檢查D3D_OK是否返回正確的值?我沒有看到你的代碼有什麼問題,也許它與SUCCEEDED()檢查功能有關。你正在做圖像加載部分的權利,不知道源矩形部分,如果我沒有記錯,你應該傳遞一個指針。

+0

而不是加載整個位圖,有沒有辦法只加載一部分位圖?我試圖用&rect指定位圖的矩形部分來顯示。這是澄清事情,還是我的問題仍不清楚? – WhoruTzu

相關問題