Ich habe das Problem, das ich nicht auf eine Bitmap zugreifen kann, da sie von irgendwoher anders verwendet wird. Das Problem ist, das dass gar nicht sein kann! Der verantwortliche Codeteil ist dieser:
Allerdings wurde die Bitmap vorher mit .DrawImage auf den _buffer gezeichnet, das heißt die eigentliche Bitmap dürfte doch hier gar keine Bedeutung mehr spielen? Wie kann ich diesen Fehler beheben?
C#-Quellcode
- var hdc = graphics.GetHdc();
- var intPtr = GdiNative.CreateCompatibleDC(hdc);
- var hbitmap = _buffer.GetHbitmap();
- GdiNative.SelectObject(intPtr, hbitmap);
- GdiNative.StretchBlt(hdc, 0, 0, width, height, intPtr, 0, 0, GraphicsDevice.DisplayMode.Width, GraphicsDevice.DisplayMode.Height, GdiNative.GdiRasterOperations.SRCCOPY);
- GdiNative.DeleteObject(hbitmap);
- GdiNative.DeleteObject(intPtr);
- graphics.ReleaseHdc(hdc);
Allerdings wurde die Bitmap vorher mit .DrawImage auf den _buffer gezeichnet, das heißt die eigentliche Bitmap dürfte doch hier gar keine Bedeutung mehr spielen? Wie kann ich diesen Fehler beheben?