3369|5

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

EVC 下如何显示png图片? [复制链接]

   WinCE5.0平台,EVC 下如何显示png图片?

最新回复

void LoadImageFromRes(HDC hDC,DWORD ImgID,HINSTANCE inst,RECT&rec) {         HINSTANCE OldHinstance = AfxGetResourceHandle();         AfxSetResourceHandle(inst);         CoInitializeEx(NULL, COINIT_MULTITHREADED);         IImagingFactory *g_pImgFactory;         //COM初始化省略         IImage *pImage;         SUCCEEDED(CoCreateInstance (CLSID_ImagingFactory, NULL,CLSCTX_INPROC_SERVER, IID_IImagingFactory, (void **)&g_pImgFactory));         //装载资源         HRSRC hr;//资源句柄         hr = FindResource(AfxGetResourceHandle(),MAKEINTRESOURCE(ImgID),_T("PNG"));         HGLOBAL hglobal= LoadResource(AfxGetResourceHandle(), hr );         LPVOID    lpVoid     = NULL;         lpVoid = LockResource(hglobal);         int nSize = 0;         nSize = (UINT)SizeofResource(AfxGetResourceHandle(), hr);         if(nSize CreateImageFromBuffer((BYTE*)hglobal, nSize, BufferDisposalFlagNone ,&pImage);         RECT rect;         rect.left=rec.left;         rect.top=rec.top;         rect.right=rec.right;         rect.bottom=rec.bottom;         //画picture到DC中         pImage->Draw(hDC, &rect, NULL);         UnlockResource(hglobal);         pImage->Release();         g_pImgFactory->Release();         AfxSetResourceHandle(OldHinstance); }   详情 回复 发表于 2009-9-17 14:23
点赞 关注

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
EVC下和PC上没多大区别,可以使用CIMAGE
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
可以使用IImage接口来显示PNG图片!直接Draw就可以了!
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
CIMAGE显示
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
我要实现那种透明效果,即在一块区域加载一幅png图片后,不将下面的图片给覆盖掉~
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 
void LoadImageFromRes(HDC hDC,DWORD ImgID,HINSTANCE inst,RECT&rec)
{
        HINSTANCE OldHinstance = AfxGetResourceHandle();
        AfxSetResourceHandle(inst);
        CoInitializeEx(NULL, COINIT_MULTITHREADED);
        IImagingFactory *g_pImgFactory;
        //COM初始化省略
        IImage *pImage;
        SUCCEEDED(CoCreateInstance (CLSID_ImagingFactory, NULL,CLSCTX_INPROC_SERVER, IID_IImagingFactory, (void **)&g_pImgFactory));
        //装载资源
        HRSRC hr;//资源句柄
        hr = FindResource(AfxGetResourceHandle(),MAKEINTRESOURCE(ImgID),_T("PNG"));
        HGLOBAL hglobal= LoadResource(AfxGetResourceHandle(), hr );
        LPVOID    lpVoid     = NULL;
        lpVoid = LockResource(hglobal);
        int nSize = 0;
        nSize = (UINT)SizeofResource(AfxGetResourceHandle(), hr);
        if(nSize <= 0){return ;}
        HRESULT ret1 =g_pImgFactory-> CreateImageFromBuffer((BYTE*)hglobal, nSize, BufferDisposalFlagNone ,&pImage);
        RECT rect;
        rect.left=rec.left;
        rect.top=rec.top;
        rect.right=rec.right;
        rect.bottom=rec.bottom;
        //画picture到DC中

        pImage->Draw(hDC, &rect, NULL);
        UnlockResource(hglobal);
        pImage->Release();
        g_pImgFactory->Release();

        AfxSetResourceHandle(OldHinstance);
}
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表