读书人

dc copy步骤

发布时间: 2013-11-08 17:52:01 作者: rapoo

dc copy方法

这个函数的功能在msdn中是这样解释的:Copies a bitmap from the source device context to this current device context,翻译过来就是从源设备环境上拷贝一张位图到目前的设备环境中来。函数定义为:BOOL BitBlt(   int x,   int y,   int nWidth,   int nHeight,   CDC* pSrcDC,   int xSrc,   int ySrc,   DWORD dwRop );  X:代表目标矩形左上方的X坐标 Y:代表目标矩形左上方的Y坐标 nWidth:代表目标矩形的宽度 nHeight:代表目标矩形的高度 pSrcDC:代表源设备环境的一个引用 xSrc:代表从源位图拷贝时,源位图左上方拷贝的起始X坐标。 ySrc:代表从源位图拷贝时,源位图左上方拷贝的起始Y坐标。 dwRop :代表拷贝的方式。  你那个应该是从设备环境mdc上拷贝一张位图到当前的设备环境dc中,拷贝后的位图在当前设备环境中的左上方起始是(0,30),目标矩形宽480,高480,中间的两个0表示位图直接完全拷贝过来,并没有经过裁剪,WHITENESS表示使用与物理调色板中索引1有关的颜色填充目标矩形区域,起始这里的颜色应该就是白色了,意思是拷贝后用白色填充没有被位图覆盖的空白的区域。。------------

CDC ?m_dcMem;

CBitmap m_bmpMem;//可放到对话框头文件类定义中

?

?

为对话框添加WM_PAINT消息

?

void CETimeDlg::OnPaint()

{

?? ? ? ? CPaintDC dc(this); // device context for painting

// TODO: Add your message handler code here

// Do not call CDialog::OnPaint() for painting messages

?m_dcMem.CreateCompatibleDC(&dc);//创建兼容DC

?

?? ? ? ? CString filpath=L"";

?? ? ? ? filpath+="//NAND//sk//GPS界面主菜单-1.BMP/0"; //图片路径

?? ? ? ? m_bmpMem.m_hObject=SHLoadDIBitmap(filpath); //图片加载至m_bmpMem

?? ? ? ? ?//或者图片作为资源?m_bmpMem.LoadBitmapW(IDB_BITMAP1);

?

?? ? ? ?m_dcMem.SelectObject(&m_bmpMem);//位图选入兼容DC

?

?

?? ? ? ?dc.BitBlt(0,0,800,480,&m_dcMem,0,0,SRCCOPY);//兼容DC的位图贴到当前DC

?

?

}

?

?

读书人网 >其他相关

热点推荐