Bitmaps einbinden



  • hi ihr 🙂

    ich habe eine frage zur grafik, man kann doch sicherlich irgendwie bitmaps in das programm einbinden. ich habe das jetzt mit loadimage versucht, es wird auch keine fehlermeldung ausgegeben, allerdings wird das bild nicht angezeigt. wie muss ich das eingeben?

    bei mir sah das bis jetzt so aus:

    LoadImage(NULL, "F:/bild.bmp", IMAGE_BITMAP, 16, 16, LR_LOADFROMFILE);

    danke!!
    annika



  • Hallo,
    bitte nochmal lesen:
    http://www.c-plusplus.net/forum/viewtopic.php?t=39405

    Passt besser nach WinAPI.



  • Moin, Moin...

    Die Funktion LoadImage() liest die Bitmap in den Speicher und zeigt sie nicht an. Daher sind noch einige Funktionsaufrufe notwendig.

    LoadImage() liefert ein Handle vom Typ HBITMAP, wenn Du eine Bitmap einliest. Ich setzte voraus, dass Du bereits ein Fenster erstellt hast und dafür ein Handle besitzt.

    // Bild einlesen
      hBitmap = LoadImage(NULL, "Bild.bmp", IMAGE_BITMAP, 640, 400, LR_LOADFROMFILE);
    
      // Device context des Fensters besorgen
      hdcMain = GetDC(hwndMain);
    
      // Device context für die eingelesene Bitmap erzeugen
      hdcTemp = CreateCompatibleDC(hdcMain);
    
      // Die geladene Bitmap in den device context einsetzen
      hOldObject = SelectObject(hdcTemp, hBitmap);
    
      // In das Fenster kopieren
      BitBlt(hdcMain, 0, 0, 640, 400, hdcTemp, 0, 0, SRCCOPY);
    
      // Aufräumen
      SelectObject(hdcTemp, hOldObject);
      DeleteObject(hBitmap);
      DeleteDC(hdcTemp);
    
      // Device context des Fensters wieder freigeben
      ReleaseDC(hwndMain, hdcMain);
    

    Ciao...



  • Dankeschön, nu funzt es!! 😃


Anmelden zum Antworten