an ein in OpenGL gerendertes Bild herankommen
-
m_firstRunPic.Create(600,600,24); //Typ: CImage CDC* pSrcDC = CDC::FromHandle(getDataGraph()->getOpenGLObj().getDeviceContext()); CDC* pDestDC = CDC::FromHandle(m_firstRunPic.GetDC()); CSize size = pSrcDC->GetCurrentBitmap()->GetBitmapDimension(); pDestDC->StretchBlt(0,0,600,600,pSrcDC,0,0,size.cx,size.cy,SRCCOPY); m_firstRunPic.Save(_T("test.jpeg")); m_firstRunPic.ReleaseDC();
Ich will das aktuell angezeigte OpenGL-Bild aus meinem Static in das CImage-Objekt kopieren. Mit obigen Code klappt das aber nicht. Irgendwie ist in dem HDC nie was gescheites drinne. Der HDC ist der, welcher mit dem RenderContext von OpenGL verbunden wurde. Warum klappt das nicht? Wie komme ich denn an das Bild heran, wenn nicht über den DC?
MfG Pellaeon
-
Siehe: glReadPixels
-
David_pb schrieb:
Siehe: glReadPixels
jo thx habs jetzt auch in google gefunden. Das ist anscheinend ein Vista-Problem. Unter XP funktioniert der Zugriff auf den DC. Bei Vista geht anscheinend nur das glReadPixels