2013-09-25 4 views
0

D3DXLoadSurfaceFromFile을 사용하여 파일에서로드하는 비트 맵의 ​​일부만로드하려고합니다.D3DXLoadSurfaceFromFile에서로드 된 비트 맵의 ​​일부만 사용하는 방법?

누군가가 내게 어떻게 작동하는지 설명 할 수 있습니까?

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; 
    } 

을하지만 불행히도 성공하지 못한 결과 : 나는 최고에 대한 설정 치수와 RECT rect를 사용하여 시도했다, 봇, 오른쪽, 다음과 같이 떠났다. 나는 theres 쉬운 설명을 확신하지만 내 인생은 그것을 이해할 수 없다.

답변

1

질문이 상당히 명확하지 않거나 이미지를로드하는 데 문제가 있거나 이미지가로드되어 있지만 표면에 원하는 텍스처 부분이 없습니까?

어쨌든 SUCCEEDED()는 D3D_OK가 올바른 값을 반환하는지 확인하는 함수라고 가정합니다. 나는 당신의 코드에 문제가있는 것을 보지 않는다. SUCCEEDED() 검사 함수와 관련이있을 것이다. 당신은 이미지를로드하는 부분을 올바르게하고 있습니다. 소스 사각형 부분에 대해서는 확실하지 않습니다. 정확하게 포인터를 전달해야한다는 것을 기억하면됩니다.

+0

전체 비트 맵을로드하는 대신 비트 맵의 ​​일부만로드하는 방법이 있습니까? & rect를 사용하여 비트 맵의 ​​사각형 섹션을 지정하려고합니다. 그것들이 문제를 명확히하는지, 아니면 아직도 내 질문이 명확하지 않은가? – WhoruTzu