[Newb:] bild in Surface malen mit Direct X



  • Hier ist meine Function:

    void Shice::draw_pic(const char* file, const int& x, const int& y)
    {
    	LPDIRECT3DSURFACE9 surf, back;
    	D3DXIMAGE_INFO info;
    	D3DXGetImageInfoFromFile(file, &info);
    	device->CreateOffscreenPlainSurface(info.Width, info.Height, info.Format, D3DPOOL_DEFAULT, &surf, 0);
    	D3DXLoadSurfaceFromFile(surf, 0, 0, file, 0, D3DX_DEFAULT, 0, &info);
    	device->GetBackBuffer(0,0, D3DBACKBUFFER_TYPE_MONO, &back);
    	device->Clear(0,0, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0), 0, 0);
    	device->BeginScene();
    	RECT dest = { x, y, x+info.Width, y+info.Height};
    	device->StretchRect(surf, 0, back, &dest, D3DTEXF_NONE);
    	device->EndScene();
    	device->Present(0,0,0,0);
    	Offscreensurfaces.push_back(surf);	
    }
    

    Is warscheinlich ziemlich falsch, habs nämlich aus nem net so tollen Buch. Zur Ergänzung:
    device ist das mit CreateDevice erzeugte Device und Offscreensurfaces ist eine std::list mit Ofscreensurfaces.

    Wie gesagt, bin nochn totlaer Anfänger, also seht mir den totalen Schwachsin nach 😉 . Achja, folgender Fehler tritt auf: Das erzeugte Fenster erscheint und dann kommt mir ein fehler reingeflogen, wenn ich auf debug klick sagt er, dass irgendein read nicht ausgeführt werden könnte.

    thx im voraus



  • ich bin mir ncith sicher, aber musst du das surface nciht erst locken, um da was reinzumalen? Und das eigentliche zeichnen sehe ich auch nciht 🙂
    ABer ich bin da auch ncith so blickig



  • Bitte lesen. Danke.

    Bye, TGGC (Reden wie die Großen)


Anmelden zum Antworten