歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C++ 加載PNG資源圖片

C++ 加載PNG資源圖片

日期:2017/3/1 10:20:34   编辑:Linux編程

C++ 加載PNG資源圖片:

  1. void LoadResImage(int nResID,Image * &lpImage)
  2. {
  3. HMODULE hModule=AfxGetInstanceHandle();
  4. HRSRC hRsrc = ::FindResource (hModule,MAKEINTRESOURCE(nResID),_T("PNG")); // type
  5. if (!hRsrc)
  6. return;
  7. // load resource into memory
  8. DWORD len = SizeofResource(hModule, hRsrc);
  9. BYTE* lpRsrc = (BYTE*)LoadResource(hModule, hRsrc);
  10. if (!lpRsrc)
  11. return;
  12. // Allocate global memory on which to create stream
  13. HGLOBAL m_hMem = GlobalAlloc(GMEM_FIXED, len);
  14. BYTE* pmem = (BYTE*)GlobalLock(m_hMem);
  15. memcpy(pmem,lpRsrc,len);
  16. IStream* pstm;
  17. CreateStreamOnHGlobal(m_hMem,FALSE,&pstm);
  18. // load from stream
  19. lpImage=Gdiplus::Image::FromStream(pstm);
  20. // free/release stuff
  21. GlobalUnlock(m_hMem);
  22. pstm->Release();
  23. FreeResource(lpRsrc);
  24. }

Copyright © Linux教程網 All Rights Reserved