Bitmaps auf Drucker ausgeben

Fluglotse_2002

Grünschnabel
Hallo zusammen,

bin neu hier und hoffe Ihr könnt mir weiterhelfen. Ich habe ein Bitmap geladen, und man sieht es auch in der Druckvorschau, nur beim Ausdruck selbst, bleibt die Seite leer. Woran kann das denn liegen? Ach ja, hier noch kurz der Codeausschnitt:

if(pDC->IsPrinting())
{
bitmap.LoadBitmap(IDB_MWLOGO);
dcMemory.CreateCompatibleDC(pDC);
dcMemory.SelectObject(&bitmap);

pDC->StretchBlt(1000,-2000,5910,-1500,&dcMemory,0,0,197,50,SRCCOPY);
}

Das Ganze mache ich in OnDraw, und weil das Quellbitmap etwas klein ist, verwende ich hier die Stretch Funktion.

Vielen Dank für Eure Hilfe

Gruss
Markus
 
Mit der Routine, wie du sie verwendest, wird eine Bitmap erzeugt, die speziell auf die Bildschirmausgabe vorbereitet ist. Diese Bitmaps kann man nicht auf den Drucker ausgeben (siehe auch MSDN -> LoadBitmap). Wenn du Bitmaps sowohl auf den Bildschirm als auch auf den Drucker ausgeben, mußt du DIB-Bitmaps verwenden. Das ist etwas kompliziert, wenn man es selber machen will. Aber du kannst die Klasse CDIB verwenden, ist im Internet zu finden, diese lädt eine Bitmap aus einer Resource oder von einer Datei und wandelt sie in eine DIB-Bitmap um.

Mfg

langer
 
Zuletzt bearbeitet:
Zurück