langer1801
Erfahrenes Mitglied
Hallo,
ich habe ein Problem bei der Bearbeitung von DIB's. Ich will ein Image von einem File laden und dann als DIB auf dem Monitor bzw. Drucker ausgeben. Das Laden des Bildes klappt offensichtlich, jedenfalls bekomme ich ein gültiges Handle. Probleme bekomme ich bei der Nutzung der Funktion GetDIBits, um Informationen über das geladene Bild zu bekommen. Sie arbeitet zwar, aber in der BITMAPINFO stehen danach unmögliche Werte. Ich denke mal, dass die Aufrufparameter, insbesondere der Parameter cScanLines, nicht stimmt
Woher bekomme ich denn vor Aufruf der Funktion den richtigen Wert der zu scannenden Zeilen?
langer
ich habe ein Problem bei der Bearbeitung von DIB's. Ich will ein Image von einem File laden und dann als DIB auf dem Monitor bzw. Drucker ausgeben. Das Laden des Bildes klappt offensichtlich, jedenfalls bekomme ich ein gültiges Handle. Probleme bekomme ich bei der Nutzung der Funktion GetDIBits, um Informationen über das geladene Bild zu bekommen. Sie arbeitet zwar, aber in der BITMAPINFO stehen danach unmögliche Werte. Ich denke mal, dass die Aufrufparameter, insbesondere der Parameter cScanLines, nicht stimmt
Code:
BITMAPINFO bminfo;
CString m_sFilename="E:\\My Projects\\Abr-net1\\res\\Billinghausen.bmp";
HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),m_sFilename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
DWORD error=GetLastError();
::GetDIBits(pDC->GetSafeHdc(),hBitmap,0,0,0,&bminfo,DIB_RGB_COLORS);
langer