首页 > 学院 > 开发设计 > 正文

MFC 二进制方式读取图片然后显示在对话框的PICTURE控件上

2019-11-08 01:53:31
字体:
来源:转载
供稿:网友
CFile file;file.Open(_T("A.JPG"), CFile::modeRead);      //打开图像文件DWord dwDataLen = file.GetLength();        //获取文件的长度BYTE *buf = new BYTE[dwDataLen];           //创建数组,用来保存图像的数据memset(buf, 0x00, dwDataLen);              //初始化数组file.Read(buf, dwDataLen);            //图像文件的数据保存在数组中file.Close();                            //关闭文件//CFile tempfile(_T("temp.jpg"), CFile::modeCreate | CFile::modeWrite);//创建文件temp.temp(扩展名任意)//CArchive ar(&tempfile, CArchive::store); //创建缓冲区//ar.Write(buf, dwDataLen);          //向缓冲区内写数据,buf为保存图像数据的数组,dwDataLen为数组的长度//ar.Close();                       //关闭缓冲区//tempfile.Close();                 //关闭文件CImage image;COleStreamFile osf;osf.CreateMemoryStream(NULL);osf.Write((void*)buf, dwDataLen);osf.SeekToBegin();image.Load(osf.GetStream());CRect rect;//定义矩形类   CWnd *pWnd = GetDlgItem(IDC_PICTURE1);//获得pictrue控件窗口的指针  pWnd->GetClientRect(&rect);//获得pictrue控件所在的矩形区域   

CDC *pDC = pWnd->GetDC();//获得pictrue控件的DC   

pDC->SetStretchBltMode(COLORONCOLOR);//进行图像缩放处理避免图像显示时失真

image.Draw(pDC->m_hDC, rect); //将图片画到Picture控件表示的矩形区域   

ReleaseDC(pDC);//释放picture控件的DC  

收集整理吧 算是  其中被注释的那一段 是将载入的二进制图片再以图片的形式保存到硬盘中


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表