FALSE)
        return FALSE;

m_rsWidth
=m_imgBoard.GetImageWidth();
m_rsHeight
=m_imgBoard.GetImageHeight();
m_memHdc
=CreateCompatibleDC(GetDC(NULL));    //创建与设备兼容的设备DC
HBITMAP hBitMap=CreateCompatibleBitmap(GetDC(NULL),m_rsWidth,m_rsHeight);// 创建与设备兼容的位图
SelectObject(m_memHdc,hBitMap);     //将空的位图选进设备DC

RECT rcOfMemDc
={0,0,m_rsWidth,m_rsHeight};
m_imgBoard.Draw(m_memHdc,
&rcOfMemDc);         
GetBoardDC(m_memHdc);
 

ImageHelper是已经封装好的类。它使用了Com组建IImgFactory处理将png jpg等格式的图片转换成位图。

LoadImageFromRes方法是从RT_RCDATA类型的资源中加载图片。

步骤:

创建与设备兼容的设备DC

创建与设备兼容的位图

将空的位图选进设备DC

将位图画在在内存DC

最后用StretchBlt选进屏幕DC

 

注意

加载的时候在初始化中加载 提高效率.而不用每次画的时候再重新加载

HBITMAP hBitMap=CreateCompatibleBitmap(GetDC(NULL),m_rsWidth,m_rsHeight);

其中的第一个参数必须是GetDC(NULL),而不能是m_memHdc。至于原因我也不太清楚

明天继续讲如何用组建来完成图片的格式转换

相关文章:

  • 2022-02-08
  • 2022-12-23
  • 2021-10-14
  • 2021-04-26
  • 2021-08-10
  • 2021-11-10
  • 2022-01-23
  • 2022-01-17
猜你喜欢
  • 2022-12-23
  • 2021-12-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-17
相关资源
相似解决方案