png转CBitmap

网络是个坑人的地方,需要实践!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 加载bmp文件到CBitmap<br>bool LoadBmpPic(CString strBmpPath, CBitmap&bmp)
{
    HBITMAP  bitmap;
 
    try
    {
        bmp.Detach();
        //从文件路径加载图片
        bitmap = (HBITMAP)::LoadImage(NULL, strBmpPath, IMAGE_BITMAP, 0, 0,
            LR_CREATEDIBSECTION | LR_LOADFROMFILE | LR_DEFAULTSIZE);
 
        if (bmp.Attach(bitmap))
        {
            return true;
        }
    }
    catch (...)
    {
        AfxMessageBox("LoadBmpPic catch!");
        return false;
    }
    return true;
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
png转CBitmap:<br>void LoadPngImageToBmp(CString& path, CBitmap* bm)
{
    CImage img;
    img.Load(path);
#if 0
    HBITMAP hbmp = (HBITMAP)img.operator HBITMAP();
    bm->DeleteObject();
    bm->Attach(hbmp);
#elif 1
    bm->Attach(img.Detach());
#else
    HBITMAP hBitmap;
    hBitmap = img.Detach();
    bm->Attach(hBitmap);
#endif
}
posted @   晨光静默  阅读(218)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示