MFC图片加载

void CTryOneDlg::OnBnClickedOpenimg()
{
	// TODO: 在此添加控件通知处理程序代码
	CString FileExtra;
	CString FileName;


	FileExtra = "BMP Files (*.bmp)|*.bmp|Dicom Files (*.dcm)|*.dcm|All Files (*.*)|*.*||";


	CFileDialog dlg(true," BMP Files (*.bmp)||",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT
		,FileExtra,NULL );


	if( dlg.DoModal() != IDOK )
		return;


	FileName = dlg.GetPathName();


	pImgEmbed = cvLoadImage((const char *)(LPCTSTR)FileName, CV_LOAD_IMAGE_UNCHANGED);
	
	/*cvShowImage("win1",pImgEmbed);*/
	CDC* pDC = GetDlgItem(IDC_STATIC) ->GetDC(); // 获得显示控件的 DC  
	HDC hDC = pDC ->GetSafeHdc(); // 获取 HDC(设备句柄) 来进行绘图操作  
	CRect rect;
	GetDlgItem(IDC_STATIC) -> GetClientRect( &rect );
	//显示图像与实际图像的长宽比
 	WidthScale = (double)rect.Width()/(double)(pImgEmbed -> width);
	HeightScale = (double)rect.Height()/(double)(pImgEmbed -> height);


	CvvImage cimg;
	cimg.CopyOf(pImgEmbed); // 复制图片  
	cimg.DrawToHDC( hDC, &rect ); // 将图片绘制到显示控件的指定区域内  
	int c = rect.Height();
	int d = rect.Width();
	ReleaseDC( pDC );
	
	if( m_pDicomWriter != NULL )
		delete m_pDicomWriter;
	m_pDicomWriter = new CTryOneDlg;
	
	if( !m_pDicomWriter->FileRead(FileName) )
	{
		AfxMessageBox("文件读取失败");
		delete m_pDicomWriter;
		m_pDicomWriter = NULL;
		return;
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值