网站架构资料收集整理
2013-08-02 16:08
309 查看
加载位图
初始化
显示
本文出自 “不曾远去” 博客,谢绝转载!
BOOL loadbmp(CString cc) { DeleteObject(bit); //删除原来的对象 bit=(HBITMAP)LoadImage //加载位图到内存 (AfxGetInstanceHandle(), //得到程序的实例句柄 cc, //文件的路径名称 IMAGE_BITMAP, //指定被装载图像类型。 0, //指定光标宽 0, //指定光标高 LR_LOADFROMFILE|LR_CREATEDIBSECTION//根据参数lpszName的值装载图像。 //若标记未被给定,lpszName的值为资源名称。 //使得函数返回一个DIB部分位图,而不是一个兼容的位图。 ); if(bit==NULL) return FALSE; //GetObject函数返回一个DIBSECTION结构。 //另外,DIBSECTION中的BITMAP结构中的bmBits元素含有一个指向位图位值的指针。 DIBSECTION ds; //存储位图某些信息的结构体 BITMAPINFOHEADER &bm = ds.dsBmih; //信息的一个引用 // BITMAPINFOHEADER bm; //直接赋值也可 GetObject(bit,sizeof(ds),&ds); // bm=ds.dsBmih; w = bm.biWidth; //得到位图的宽,高 h = bm.biHeight; return TRUE; }
初始化
BOOL CMyDlg::OnInitDialog() { CDialog::OnInitDialog(); SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here CString cc; cc="\r\n 这是《学VC、编游戏》的第一个示例:\r\n\r\n"; cc+=" 在这一章我们使用了以下知识、技术\r\n\r\n"; cc+="1、在VC++中建立一个对话框程序,学习编译运行程序的方法。\r\n"; cc+="2、引入了有关图形处理的数据结构:HBITMAP (设备相关位图)、 //HDC(设备场景).介绍了位图拷贝命令BitBlt()。\r\n"; cc+="3、学习C++的功能函数的定义和使用方法。\r\n"; cc+="4、学习调用图形的MFC方法LoadImage()和显示图形的方法\r\n"; cc+="5、学习在编辑框上显示文字和在设备场景中显示文字的方法。\r\n\r\n"; cc+="重点:在VC中创建程序、并显示图形。\r\n\r\n"; cc+="程序设计:唐明理\r\n"; cc+="E-mail:cqtml@163.com\r\n"; SetDlgItemText(IDC_EDIT1,cc); MemDC =CreateCompatibleDC(0); //创建兼容DC dir="图片/"; p=0; cc=dir+"地面.BMP"; if(loadbmp(cc)==FALSE) {AfxMessageBox(cc+"没找到!");return FALSE; } SelectObject(MemDC,bit); //选入设备 return TRUE; // return TRUE unless you set the focus to a control }
显示
void CMyDlg::OnOK() { GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE); CClientDC dc(this); // SetTextColor(MemDC,RGB(255,255,255)); //设置文本颜色 SetBkMode(MemDC,TRANSPARENT); //设置混合模式 cc="哈哈,我来了!!!"; TextOut(MemDC,150,100,cc,lstrlen(cc)); BitBlt(dc.m_hDC,0,0,400,300,MemDC,0,0,SRCCOPY); //显示位图 cc.Format("%s人/c%05d.bmp",dir,p); //格式化图片路径 if(loadbmp(cc)==FALSE) {AfxMessageBox(cc+"没找到!");return;} SelectObject(MemDC,bit); BitBlt(dc.m_hDC,200,160,w,h,MemDC,0,0,SRCCOPY); // CDialog::OnOK(); }
本文出自 “不曾远去” 博客,谢绝转载!