Probleme mit dem Kopieren von DC Daten
-
Hi,
ich möchte gerne das was in meinem DC gespeichert ist, einem andere DC zuweisen. Allerdings klappt das nicht und ich versteh net genau warum.
Genauer, es geht darum die Bildinformationen in eine Bitmap zu schreiben.vielleicht sieht ja jemand den Fehler.
Das ganze steht in der OnPaint drin nur zur InfoHDC hdc2; HBITMAP aBmp; BITMAPINFO bi; HGDIOBJ OldObj; void *dibvalues; BITMAPFILEHEADER bmfh; BITMAPINFOHEADER bmih; DWORD bytes_write; DWORD bytes_written; bmih.biSize=sizeof(BITMAPINFOHEADER); bmih.biHeight=rect1.Height(); bmih.biWidth=rect1.Width(); bmih.biPlanes=1; bmih.biBitCount=24; bmih.biCompression=BI_RGB; bmih.biSizeImage = ((((bmih.biWidth * bmih.biBitCount) + 31) & ~31) >> 3) * bmih.biHeight; bmih.biXPelsPerMeter = 0; bmih.biYPelsPerMeter = 0; bmih.biClrImportant = 0; bi.bmiHeader=bmih; CPaintDC tDc( &m_ctrlGlProgress ) ; hdc2=CreateCompatibleDC(tDc.m_hDC); aBmp=CreateDIBSection(tDc.m_hDC,&bi,DIB_RGB_COLORS,(void**)&dibvalues,0,0); OldObj = SelectObject(hdc2,aBmp); BitBlt(hdc2,0,0,rect1.Width(),rect1.Height(),tDc.m_hDC,0,0,SRCCOPY); DC2Bitmap(tDc.m_hDC, rect1.Width(), rect1.Height(), "tdcdc2.bmp" ) ; DC2Bitmap(hdc2, rect1.Width(), rect1.Height(), "hdc2.bmp" ) ;Mit den letzten beiden Zeilen geb ich den DC als Bitmap aus, nur sollte meiner Meinung nach beide Bitmaps identisch sein und net unterschiedlich !?!?!

jetzt gehts .... habs oben mal den funktionierende code reingeschrieben