Guybrush Threepwood Geschrieben 23. November 2005 Teilen Geschrieben 23. November 2005 Blöder Titel ich weiß :hells: Aber ich habe folgende Funktion um ein beliebiges Bild (z.B. ein Gif) von der Festplatte zu laden: HBITMAP LoadAnImage(const char* FileName) { // Use IPicture stuff to use JPG / GIF files IPicture* p; IStream* s; HGLOBAL hG; void* pp; FILE* fp; // Read file in memory fp = fopen(FileName,"rb"); if (!fp) return NULL; fseek(fp,0,SEEK_END); int fs = ftell(fp); fseek(fp,0,SEEK_SET); hG = GlobalAlloc(GPTR,fs); if (!hG) { fclose(fp); return NULL; } pp = (void*)hG; fread(pp,1,fs,fp); fclose(fp); // Create an IStream so IPicture can CreateStreamOnHGlobal(hG,false,&s); if (!s) { GlobalFree(hG); return NULL; } OleLoadPicture(s,0,false,IID_IPicture,(void**)&p); if (!p) { s->Release(); GlobalFree(hG); return NULL; } s->Release(); GlobalFree(hG); HBITMAP hB = 0; p->get_Handle((unsigned int*)&hB); // Copy the image. Necessary, because upon p's release, // the handle is destroyed. HBITMAP hBB = (HBITMAP)CopyImage(hB,IMAGE_BITMAP,0,0, LR_COPYRETURNORG); p->Release(); return hBB; } [/PHP] Hat jemand eine Idee wie ich statt einer Datei eine Ressource die ich meiner Anwendung hinzugefügt habe verwenden kann? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 23. November 2005 Autor Teilen Geschrieben 23. November 2005 Ok hat sich erledigt. Man kann die Resource mit FindResource ermitteln und dann mit LoadResource und LockResource laden. Danach dann einfach mit SizeofResource die Größe für GloblaAlloc ermitteln und mit memcpy umkopieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.