读书人

图片缩放有关问题

发布时间: 2012-09-01 09:33:02 作者: rapoo

图片缩放问题
CRect rc;
CDC* pDC = new CDC;
CDC MemDC;
pDC->CreateCompatibleDC(m_Picture.GetDC());//m_Picture为Picture控件变量
m_Picture.GetClientRect( &rc );

CPoint center( rc.Width() / 2, rc.Height() / 2 );
int oldMode = pDC->SetStretchBltMode( COLORONCOLOR );
double zoom;
zoom = 1.0;
zoom++;
pDC->StretchBlt( center.x - ( zoom * nWidth2 ) / 2, center.y - ( zoom * nHeight2 ) / 2, zoom * nWidth2, zoom * nHeight2, &MemDC, 0, 0, nWidth2, nHeight2, SRCCOPY ); // nWidth2/nHeight2为原图宽高.
imageTmp2.Draw(pDC->m_hDC, LeftShiftNum, UpShiftNum);
delete pDC;

我的目的是,放大后,在Picture控件中显示出来,但没有效果,不知道问题出在哪里

[解决办法]
试试CxImage
[解决办法]
放大图像需要插值
[解决办法]
看看MSDN的例子

Scaling an Image
[解决办法]
把imageTmp2.Draw(pDC->m_hDC, LeftShiftNum, UpShiftNum);删掉试试。
都缩放完了还Draw干什么呢?

读书人网 >VC/MFC

热点推荐