问题描述
- MFC使用 CImage贴图失真
-
MFC使用 CImage来贴图在控件上,但是有的时候会失真,有什么解决办法吗
解决方案
这样试试
CWnd* pWnd;
pWnd=GetDlgItem(IDC_IMAGE1);
CDC* pDC=pWnd->GetDC();
HDC hDC = pDC->m_hDC;
CRect rect_frame;
CImage image;
pWnd->GetClientRect(&rect_frame);
image.Load(fileName);
::SetStretchBltMode(hDC,HALFTONE);
::SetBrushOrgEx(hDC,0,0,NULL);
image.Draw(hDC,rect_frame);
ReleaseDC(pDC);//释放picture控件的DC
解决方案二:
失真只要分为两方面,一个是色彩失真,一个是尺寸失真。不知道你说的是什么
如果是色彩失真,检查下图片的格式以及你使用的调色板是否有问题。
如果是尺寸失真,检查下图片的长宽像素,按照一定的比例去绘制。
时间: 2025-01-16 11:54:26