SitemapInfoHomeTips und Tricks - Bitmap zeichnen

Homepage

Software,
Download

Software-
entwicklung

  Tips und Tricks

Nachrichten-
technik

Internet

Aktuelles,
Sonstiges

Infos,
Kontakt

Sitemap


Diese Funktion zeichnet ein geräteabhängiges Rasterbild im angegebenen Gerät.

Die Funktion positioniert die obere linke Ecke des Rasterbildes an der durch die Parameter x und y bezeichneten Position. Diese Position ist vom aktuellen Abbildungsmodus des Gerätekontextes abhängig.

Parameter:
dc = Der Zeichenkontext, in dem das Rasterbild gezeichnet werden soll, oder 0 für das aktive Fenster
x = Bestimmt die virtuelle x-Koordinate der oberen linken Ecke des Rasterbildes
y = Bestimmt die virtuelle y-Koordinate der oberen linken Ecke des Rasterbildes
hbm = Der Bezug auf das zu zeichnende Rasterbild

Funktionsergebnis:
TRUE, falls die Funktion erfolgreich war.
FALSE, wenn die Funktion erfolglos war.


BOOL DrawBitmap(HDC dc, int x, int y, HBITMAP hbm)
{
   HDC dcMem;
   BITMAP bm;
   HWND hwndBitmap = NULL;
   BOOL fSuccess;
   BOOL fDcCreated = FALSE;

   if (hbm == NULL)
      return FALSE;

   /* Ausdehnung des Rasterbildes ermitteln */
   if (!GetObject(hbm, sizeof(bm), &bm))
      return FALSE;

   if (dc == NULL)
   {
     
/* Wenn kein Ausgabekontext vorhanden ist, */
      /* wird einer für das aktive Fenster erzeugt */
      hwndBitmap = GetActiveWindow();
      dc = GetDC(hwndBitmap);
      if (dc != NULL)
         fDcCreated = TRUE;
      else
         return FALSE;
   }

   dcMem = CreateCompatibleDC(dc);
   SelectObject(dcMem, hbm);
   fSuccess = BitBlt(dc, x, y, bm.bmWidth, bm.bmHeight, dcMem, 0, 0, SRCCOPY);
   DeleteDC(dcMem);

   /* Nur den oben angelegten Ausgabekontext wieder freigeben */
   if (fDcCreated)
      ReleaseDC(hwndBitmap, dc);

   return fSuccess;
}

[ drawbmp.c ]

[ << Vorheriger ] [ Übersicht ] [ Nächster >> ]

TopHomepage » Softwareentwicklung » Tips und Tricks » Bitmap zeichnen