Bild laden!



  • Hi...
    Ich hab ein Bild in nem Zeiger gespeichert! Wie muss ihc das bild jetzt mir LoadImage laden das ich es verwenden kann.



  • Wie willst du ein Bild in einem Zeiger speichern? Ein Zeiger zeigt auf etwas 😃
    Ich geh mal davon aus das du die Daten in einem Array hast?!

    Aber warum lädst du das Bild nicht direkt aus der Resource/Datei ?!



  • Wie willst du ein Bild in einem Zeiger speichern? Ein Zeiger zeigt auf etwas 😃
    Ich geh mal davon aus das du die Daten in einem Array hast?!

    Aber warum lädst du das Bild nicht direkt aus der Resource/Datei ?!

    Aso sry meinte array war schon ein bischen spät.... Also wie lade ich das jetzt? Ich kanns nämlcih nicht direkt angeben (dann kommt das bild net) 😞



  • Zeig mal bissel Code. Wieso kannst das Bild nicht direkt laden?

    MfG schirrmie



  • So gehts net:

    // Bilder aus *.zip laden
    		  // verschlüsselte Datei "BildDatei.bmp" aus dem Archiv "test.zip" lesen, Passwort "1337"
              result = readArchivedFile("BildDatei.zip", "BildDatei.bmp", "123", &p_file, &fileSize);
              if(result)
    		  {
    			  // Fehler!
    			  EndDialog(hDlg,0);
    			  return FALSE;
    		  } 
    		  // end of -> Bilder aus *.zip laden
    
    		  // Bitmap laden aus Datei. Mit GetModuleHandle (NULL) wird die HINSTANCE geholt.
    		  hBitmap= LoadImage (GetModuleHandle (NULL), p_file, IMAGE_BITMAP,0, 0,LR_DEFAULTCOLOR);
    		  if(!hBitmap)
    		  {
    			  MessageBox(NULL, "Fehler beim laden der Bitmap-Datei!!!", "Fehler", MB_OK|MB_ICONERROR);
    			  EndDialog(hDlg,0);
    			  return FALSE;
    		  }
    
    		  // Jetzt wird ein Button erzeugt. hwnd ist das Handle zum Hauptfenster.  Man beachte das BS_BITMAP!
    		  hPicture = CreateWindow("BUTTON", "", WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON|BS_BITMAP, 
                              265, 30, 50, 30, hDlg, 0, GetModuleHandle (NULL),  0);
    
    		  //Das Bitmap auf den Button plazieren
    		  SendMessage (hPicture, BM_SETIMAGE, (WPARAM) IMAGE_BITMAP,(LPARAM)(HANDLE) hBitmap);
    


  • Probier mal bei LoadImage noch den Parameter "LR_LOADFROMFILE" anzugeben. Ansonsten schau dir die Funktion noch mal in der MSDN an.

    MfG schirrmie



  • Hat noch jmd. ne idee?



  • Naja füll halt den BITMAP Handle selbst ... oder wie wäre http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_3ak0.asp ?! 😉



  • Ja, du könntest das Bild temporär in ne Datei speichern und dann LoadBitmap() mit LR_LOADFROMFILE laden.

    Oder was auch gehen könnte: In der FAQ den Code zum laden von jpegs irgendwie nutzen.

    Mit diesem CreateStream-Dingens da müsste man irgendwie den Speicher auf den p_file auch als Stream nutzen können, so wie es der Code in der FAQ ja glaube ich auch macht.
    (Hab den Thread in der FAQ lange nicht mehr gesehen...)


Anmelden zum Antworten