如何将jpg加载到我使用visual c ++ 6.0并且无法访问CImage的CBitmap中?
THX
答案 0 :(得分:2)
我只是简单地调用OleLoadPicturePath api来加载jpg而不是其他常见格式。
将其加载到IPicture对象后,您可以调用get_Handle来获取HBITMAP的句柄。
由于
答案 1 :(得分:1)
你不能,或者至少没有内置方式。看看CxImage,你可以使用它,特别是当你只需要jpg支持时。
答案 2 :(得分:1)
这种转换很复杂,所以我建议使用外部库,看看this。
答案 3 :(得分:1)
CBitmap bmp;
HANDLE h = ::LoadImage(NULL, _T("c:\\MyImage.jpg"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
bmp.Attach(h);
答案 4 :(得分:1)
我所知道的没有本土方式。我总是将FreeImage用于JPG和PNG - 它非常强大,FAQ中有关于如何将PNG加载到HBITMAP中的示例代码(对于JPG来说,它的工作方式完全相同)。
来自经验的一句警告 - 如果您将JPG存储为资源,请确保创建“JPG”资源类型并将其存储为该类型,不要尝试将其添加为BITMAP资源或您尝试加载它会遇到各种各样的问题。我知道这听起来很明显,但我花了一段时间才弄明白。