MFC图片显示,pictrue
来源:互联网 发布:彩虹自动发卡源码 编辑:程序博客网 时间:2024/06/02 13:26
//图片显示-----------------------------------------------------------------------------------------------------
CString filter;
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter,NULL);
//打开对话框获取图像信息
CString BmpName = "shenjie.bmp"; //获取文件路径名 如D:\pic\abc.bmp
CString EntName = "bmp";//获取文件扩展名
EntName.MakeLower(); //将文件扩展名转换为一个小写字符
//定义变量存储图片信息
BITMAPINFO *pBmpInfo; //记录图像细节
BYTE *pBmpData; //图像数据
BITMAPFILEHEADER bmpHeader; //文件头
BITMAPINFOHEADER bmpInfo; //信息头
CFile bmpFile; //记录打开文件
//以只读的方式打开文件 读取bmp图片各部分 bmp文件头 信息 数据
if(!bmpFile.Open(BmpName, CFile::modeRead|CFile::typeBinary))
return;
if (bmpFile.Read(&bmpHeader,sizeof(BITMAPFILEHEADER)) != sizeof(BITMAPFILEHEADER))
return;
if (bmpFile.Read(&bmpInfo,sizeof(BITMAPINFOHEADER)) != sizeof(BITMAPINFOHEADER))
return;
pBmpInfo = (BITMAPINFO *)new char[sizeof(BITMAPINFOHEADER)];
//为图像数据申请空间
memcpy(pBmpInfo,&bmpInfo,sizeof(BITMAPINFOHEADER));
DWORD dataBytes = bmpHeader.bfSize - bmpHeader.bfOffBits;
pBmpData = (BYTE*)new char[dataBytes];
bmpFile.Read(pBmpData,dataBytes);
bmpFile.Close();
//显示图像
CWnd *pWnd=GetDlgItem(IDC_STATICaaa); //获得pictrue控件窗口的句柄
CRect rect;
pWnd->GetClientRect(&rect); //获得pictrue控件所在的矩形区域
CDC *pDC=pWnd->GetDC(); //获得pictrue控件的DC
pDC->SetStretchBltMode(COLORONCOLOR);
StretchDIBits(pDC->GetSafeHdc(),0,0,rect.Width(),rect.Height(),0,0,
bmpInfo.biWidth,bmpInfo.biHeight,pBmpData,pBmpInfo,DIB_RGB_COLORS,SRCCOPY);
CString filter;
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter,NULL);
//打开对话框获取图像信息
CString BmpName = "shenjie.bmp"; //获取文件路径名 如D:\pic\abc.bmp
CString EntName = "bmp";//获取文件扩展名
EntName.MakeLower(); //将文件扩展名转换为一个小写字符
//定义变量存储图片信息
BITMAPINFO *pBmpInfo; //记录图像细节
BYTE *pBmpData; //图像数据
BITMAPFILEHEADER bmpHeader; //文件头
BITMAPINFOHEADER bmpInfo; //信息头
CFile bmpFile; //记录打开文件
//以只读的方式打开文件 读取bmp图片各部分 bmp文件头 信息 数据
if(!bmpFile.Open(BmpName, CFile::modeRead|CFile::typeBinary))
return;
if (bmpFile.Read(&bmpHeader,sizeof(BITMAPFILEHEADER)) != sizeof(BITMAPFILEHEADER))
return;
if (bmpFile.Read(&bmpInfo,sizeof(BITMAPINFOHEADER)) != sizeof(BITMAPINFOHEADER))
return;
pBmpInfo = (BITMAPINFO *)new char[sizeof(BITMAPINFOHEADER)];
//为图像数据申请空间
memcpy(pBmpInfo,&bmpInfo,sizeof(BITMAPINFOHEADER));
DWORD dataBytes = bmpHeader.bfSize - bmpHeader.bfOffBits;
pBmpData = (BYTE*)new char[dataBytes];
bmpFile.Read(pBmpData,dataBytes);
bmpFile.Close();
//显示图像
CWnd *pWnd=GetDlgItem(IDC_STATICaaa); //获得pictrue控件窗口的句柄
CRect rect;
pWnd->GetClientRect(&rect); //获得pictrue控件所在的矩形区域
CDC *pDC=pWnd->GetDC(); //获得pictrue控件的DC
pDC->SetStretchBltMode(COLORONCOLOR);
StretchDIBits(pDC->GetSafeHdc(),0,0,rect.Width(),rect.Height(),0,0,
bmpInfo.biWidth,bmpInfo.biHeight,pBmpData,pBmpInfo,DIB_RGB_COLORS,SRCCOPY);
0 0
- MFC图片显示,pictrue
- MFC中Pictrue控件显示图片+播放视频
- MFC显示图片
- MFC对话框显示图片
- mfc窗口显示图片
- MFC显示jpg图片
- MFC显示灰度图片
- MFC动态显示图片
- MFC对话框显示图片
- MFC显示JPG图片
- 【c++】MFC显示图片
- MFC 显示bmp图片
- mfc显示图片
- MFC对话框显示图片
- MFC+opencv显示图片
- MFC(三)显示图片
- MFC显示JPG图片
- MFC显示Mat图片
- 对OkHttp3的单独封装 get和post
- eclipse debug
- Android Notification常见样式总结
- windows7下tensorflow 1.0.0 cpu版本安装
- 启动tomcat后出现红色 警告:did not find a matching property
- MFC图片显示,pictrue
- printf scanf
- Python进阶 -- 2. pygal
- maven安装配置-MyEclipse 2014
- 线程游戏-飞机大战
- lvs+keepalived实现负载均衡,基于centos6.5
- Ubuntu 15.10下安装和卸载QT5.5.1
- HashMap,LinkedHashMap,TreeMap的区别
- Selenium Mac环境搭建