VC 中位图的显示
来源:互联网 发布:软件测试过程管理 pdf 编辑:程序博客网 时间:2024/05/22 12:26
RECT rect; GetClientRect(hwnd,&rect);
HDC hdcmem,hdc;
HBITMAP hbitmap,hbitmapOld;
hdc=GetDC(hwnd);
hdcmem=CreateCompatibleDC(hdc);
hbitmap=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BACKGROUND));
//GetObject(MAKEINTRESOURCE(IDB_BACKGROUND),sizeof(HBITMAP),hbitmap);
hbitmapOld=(HBITMAP)SelectObject(hdcmem,hbitmap);
//StretchBlt(hdc,0,0,500,500,hdcmem,0,0,470,420,SRCCOPY);
BitBlt(hdc,button[num].rect.left,button[num].rect.top,
75,50,hdcmem,button[num].rect.left,button[num].rect.top,SRCCOPY);
DeleteObject(hbitmap);
DeleteDC(hdcmem);
ReleaseDC(hwnd,hdc);
DeleteDC(hdc);
////////////////////////////////////////////////////////////////////////////////////////
void CCaptureDlg::SaveBmp()
{
CDC dc;
dc.CreateDC("DISPLAY",NULL,NULL,NULL);
CBitmap bm;
int Width=GetSystemMetrics(SM_CXSCREEN);
int Height=GetSystemMetrics(SM_CYSCREEN);
bm.CreateCompatibleBitmap(&dc,Width,Height);
CDC tdc;
tdc.CreateCompatibleDC(&dc);
CBitmap*pOld=tdc.SelectObject(&bm);
tdc.BitBlt(0,0,Width,Height,&dc,0,0,SRCCOPY);
tdc.SelectObject(pOld);
BITMAP btm;
bm.GetBitmap(&btm);
DWORD size=btm.bmWidthBytes*btm.bmHeight;
LPSTR lpData=(LPSTR)GlobalAllocPtr(GPTR,size);
/////////////////////////////////////////////
BITMAPINFOHEADER bih;
bih.biBitCount=btm.bmBitsPixel;
bih.biClrImportant=0;
bih.biClrUsed=0;
bih.biCompression=0;
bih.biHeight=btm.bmHeight;
bih.biPlanes=1;
bih.biSize=sizeof(BITMAPINFOHEADER);
bih.biSizeImage=size;
bih.biWidth=btm.bmWidth;
bih.biXPelsPerMeter=0;
bih.biYPelsPerMeter=0;
///////////////////////////////////
GetDIBits(dc,bm,0,bih.biHeight,lpData,(BITMAPINFO*)&bih,DIB_RGB_COLORS);
// bm.GetBitmapBits(size,lpData); //エヒコッハヤレエヲタ・-5-5ト」ハスオト16ホサノォマツサ盖ヨムユノォサ・メ
//////////////////////////////
static int filecount=0;
CString name;
name.Format("pict%04d.bmp",filecount++);
name=m_Path+name;
BITMAPFILEHEADER bfh;
bfh.bfReserved1=bfh.bfReserved2=0;
bfh.bfType=((WORD)('M'<< 8)|'B');
bfh.bfSize=54+size;
bfh.bfOffBits=54;
CFile bf;
if(bf.Open(name,CFile::modeCreate|CFile::modeWrite)){
bf.WriteHuge(&bfh,sizeof(BITMAPFILEHEADER));
bf.WriteHuge(&bih,sizeof(BITMAPINFOHEADER));
bf.WriteHuge(lpData,size);
bf.Close();
nCount++;
}
GlobalFreePtr(lpData);
if(nCount==1)
m_Number.Format("%d picture captured.",nCount);
else
m_Number.Format("%d pictures captured.",nCount);
UpdateData(FALSE);
}
- VC 中位图的显示
- VC中显示位图
- vc中显示位图、图标的方法
- 在VC中显示位图
- vc显示位图的总结
- VC中使用MFC显示位图的方法
- VC++6.0 中BMP位图的读取和显示
- VC中如何显示一张位图
- VC——位图的透明显示
- vc 透明显示位图
- 位图文件显示(VC++)
- VC中添加位图遇到的问题
- 如何在VC中显示透明背景位图
- VC:在窗口中显示一幅位图
- VC中如何在对话框上显示位图
- VC学习——在窗口中显示位图
- BITMAPINFO结构 <windows中显示位图必备的位图信息>
- VC 位图背景透明显示
- oracle 中日期的加减
- magento -- 尝试使用squid来缓存html页面来提升magento网站的速度
- SourceForge上发布dedup util
- 用 RAP (RDF API FOR PHP )生成 RDF 文件
- 实例讲解Oracle里抽取随机数的多种方法
- VC 中位图的显示
- 中山大学暨国家集成电路人才培养基地首届电子设计大赛系列讲座一
- MFC中显示位图的总结(含源码)
- Oracle认证:全球获得Oracle认证人数统计
- Excel中无法插入和黏贴图片的解决方法
- 根据表名生成insert和update字段列表
- C#中class与struct的区别
- 定时调度带输出变量的存储过程
- linux:dpkg:依赖关系问题使得 skype 的配置工作不能继续:问题解决方法