Advertisement

I can't load bitmaps!

Started by January 25, 2002 03:11 PM
8 comments, last by Fundy Glostna 22 years, 10 months ago
For some reason, I can''t load bitmaps from file into a HBITMAP handle! szfilename is a LPCTSTR string, like "testimage.bmp" Oh what is wrong?! Does it have something to do with my project''s bitmaps being in the Resource folder? (in Microsoft Visual C++) //Load the bitmap "szfilename" into the bitmap handle hbm = (HBITMAP) LoadImage(NULL, szfilename, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_DEFAULTSIZE); if(!hbm) { return 0; //error that always happens! }
No, Canadians DON'T all live in igloos. They live in one BIG igloo!
You may want to explicitly specify your desired height and width, since the LR_DEFAULTSIZE flag "uses the width or height specified by the system metric values for cursors or icons." But you specified it was an IMAGE_BITMAP, not an icon or cursor.


"If people are good only because they fear punishment and hope for reward, then we are a sorry lot indeed." - Albert Einstein
Advertisement
I tried that, but doesn''t stop the errors.
No, Canadians DON'T all live in igloos. They live in one BIG igloo!
"Does it have something to do with my project''s bitmaps being in the Resource folder?"

The bitmaps should be in the same folder as your executable. I don''t use MSVC, but I''m confident that this is the problem.
You could provide a little more information to us if you could tell us what GetLastError() is returning after the failure.



"If people are good only because they fear punishment and hope for reward, then we are a sorry lot indeed." - Albert Einstein
Never mind! I got my code to work by loading the bitmap from a resource script using MAKEINTRESOURCE(IDB_BITMAP) in place of szfilename.
No, Canadians DON'T all live in igloos. They live in one BIG igloo!
Advertisement
damn, I think I got the same problem like you
my bmp file is in the debug folder, so my program should find it

how do I use that Getlasterror() code?

this is how I try to load my bitmap

  if ((hbitmap = (HBITMAP)LoadImage(hInstance, File, IMAGE_BITMAP, 0, 0,                                      LR_CREATEDIBSECTION |LR_LOADFROMFILE)) == NULL)    {		Write2Log("Loading image succesfull") ;			} // end of if	else	{			Write2Log("Loading image failed!") ;			} // end of else   


note that Write2Log() is a function that writes to a log-file so I knew where my program goes wrong

and second note I already used this code in an other game and there it worked fine

also note that I don't get any compile errors

thanx in advance for any help

Edited by - da_cobra on January 27, 2002 2:36:00 PM
Hey, aren''t you testing that if hbm returns NULL, it writes "Load image successful" and if it DOES return something, it writes "Load image failed". Seems to me you need to use !=NULL instead of ==NULL :

if((hbm = LoadImage(hInstance,file,IMAGE_BITMAP,
0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION))!=NULL) {
Write2Log("Load Image Successful");
} else{
Write2Log("Load Image Failed");
}
No, Canadians DON'T all live in igloos. They live in one BIG igloo!
P.S. How do you get your code to appear in that nice, centered, white box?
No, Canadians DON'T all live in igloos. They live in one BIG igloo!
could that be my problem?
although I don't think so because the rest of my load bitmap code also fails, so I think it's not loaded well?!?
but thanx anyway, I'll check tonight, who knows

for that nice white box just use this html code

[ source ]

source code here
[ \ source ]



Edited by - da_cobra on January 28, 2002 3:12:09 AM

This topic is closed to new replies.

Advertisement