Bitmap erstellen, auf dieses Zeichnen und dann den Inahlt bei Paint auf Formular abdrucken
-
Hi,
also ich möchte ein Bitmap im Speicher erstellen, dann mit LineTo u.ä. draufrum kritzeln und immer wenn das Fenster neugepaintet wird, soll der Inahlt des Bitmaps in das Fenster abgedruckt wird.Wie mache ich das!
MfG
Alexander Sulfrian
-
Du meinst DoubleBuffering bzw. BackBuffering?!
CreateCompatibleDC - CreateCompatibleBitmap - SelectObject - deine Zeichenoperationen - BitBlt
-
Hi,
genau das meine ich!Kannst du mir vielleicht noch ein Bsp. geben? Ich bekomme das mit der Hilfe absolute nicht zum Laufen! Ich hab zwar schon ein Stück Code gefunden, aber der funktioniert nicht:
hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL); hdcCompatible = CreateCompatibleDC(hdcScreen); /* Create a compatible bitmap for hdcScreen. */ hbmScreen = CreateCompatibleBitmap(hdcScreen, GetDeviceCaps(hdcScreen, HORZRES), GetDeviceCaps(hdcScreen, VERTRES)); if (hbmScreen == 0) errhandler("hbmScreen", hwnd); /* Select the bitmaps into the compatible DC. */ 8if (!SelectObject(hdcCompatible, hbmScreen)) errhandler("Compatible Bitmap Selection", hwnd); /* Hide the application window. */ ShowWindow(hwnd, SW_HIDE); /* * Copy color data for the entire display into a * bitmap that is selected into a compatible DC. */ if (!BitBlt(hdcCompatible, 0,0, bmp.bmWidth, bmp.bmHeight, hdcScreen, 0,0, SRCCOPY)) errhandler("Screen to Compat Blt Failed", hwnd); /* Redraw the application window. */ ShowWindow(hwnd, SW_SHOW);
-
http://www.c-plusplus.net/forum/viewtopic.php?t=14713
http://www.klangwerker.de/php/show.php?path=developer/german&doc=g_double_buf1&update=1zu deinem Code:
Wo hast du den Code stehen?
Warum versteckst du das Fenster vor BitBlt?
Wozu kopierst du den Inhalt des Screen in den BackBuffer (bei BitBlt) - eigentlich musst du das genau andersherum machen
-
Hi,
ich hab jetzt funktionierenden Code, nur ich glaub das ist doch nicht das was ich suche!
Ich will also einen Buttonklicken oder eine Funktion aufrufen und dann irgendetwas zeichen! Beim Repainten des Fensters muss das wieder neugezeichnet werden! Da ich mir nicht alle Vorgänge merken will bzw. kann, suche ich eine Möglichkeit das fertige Bild zwischen zu speichern.So wie ich das sehe, funktioniert das mit den obengennanten Mitteln nicht!
Wie dann!
Danke
MfG
Alexander Sulfrian
-
Doch! Warum sollte das Damit nicht funktionieren?!
-
Hi,
nagut jetzt hat geklappt!Danke
MfG
Alexander Sulfrian