MFC中picture显示bmp图片方法

		pThis->m_pBmpinfo = new BITMAPINFO;//m_pBmpinfo类型为BITMAPINFO
		memset(pThis->m_pBmpinfo , 0 , sizeof(BITMAPINFO));
		BITMAPINFOHEADER *bmpinfoheader = &(pThis->m_pBmpinfo->bmiHeader);
		bmpinfoheader->biSize = sizeof(BITMAPINFOHEADER);
		bmpinfoheader->biWidth = pFrameHead->iWidth;//图象宽度
		bmpinfoheader->biHeight = pFrameHead->iHeight;//图象高度
		bmpinfoheader->biBitCount = 24;//RGB使用3个字节
		bmpinfoheader->biCompression = BI_RGB;
		bmpinfoheader->biSizeImage = pFrameHead->iHeight*pFrameHead->iWidth*3;//RGB每个颜色占一个字节所以乘以3
		bmpinfoheader->biClrImportant = 0;//填0即可
		bmpinfoheader->biClrUsed = 0;//填0即可
		bmpinfoheader->biXPelsPerMeter = 0;//填0即可
		bmpinfoheader->biYPelsPerMeter = 0;//填0即可
		bmpinfoheader->biPlanes = 1;//填1即可
		CRect rect;
		pThis->m_pDc = pThis->GetDlgItem(IDC_STATIC_VIEW)->GetDC();//得到对话框中picture空间的DC句柄,IDC_STATIC_VIEW为picture控件的资源ID
		pThis->GetDlgItem(IDC_STATIC_VIEW)->GetClientRect(&rect);
		SetStretchBltMode(pThis->m_pDc->GetSafeHdc(),COLORONCOLOR);//调整一下显示模式:DC句柄,彩色模式
		//将图片缩放到画布大小进行显示
		StretchDIBits(
			pThis->m_pDc->GetSafeHdc(),//DC控件picture的窗口句柄
			rect.left , //picture控件的左上角横坐标
			rect.top , //picture控件的左上角横坐标
			rect.Width() , //picture控件宽度
			rect.Height() , //picture控件高度
			0 , //在picture控件中,从图片的(0,0)的位置开始显示
			0 , 
			pFrameHead->iWidth ,//显示的图片宽度 
			pFrameHead->iHeight , //显示图片的高度
			pThis->m_pFrameBuffer , //图片数据空间
			pThis->m_pBmpinfo , //图片数据头
			DIB_RGB_COLORS , //颜色空间
			SRCCOPY);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值