我用GDI+库在MFC中(单文档,基类为CScrollView)实现显示一张图片的放大效果(长和宽变为原来的两倍),大致代码如下:
void CGdiView::OnDraw(CDC* pDC)
{
CGdiDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
using namespace Gdiplus; 

         CPoint point;
Rect picRect;
         CSize sizeTotal;
         Graphics graphics(GetDC()->m_hDC); 
         Image img( L"C:/Documents and Settings/fengyang/My Documents/MyPictures/England/48c240cd335c54ab3dfc68a222d91d0a.jpg", TRUE );
         graphics.DrawImage(&img, rc.left, rc.top, 2*img.GetWidth(), 2*img.GetHeight());
         sizeTotal.cx=2*img.GetWidth();
sizeTotal.cy=2*img.GetHeight();

CScrollView::SetScrollSizes(MM_TEXT,sizeTotal);

// TODO: add draw code for native data here
}
代码编译和链接都没问题,就是显示在客户区时只能显示图片在客户区中的部分.比如开始图象的上半部分在客户区中,我用鼠标拉滚动条想看图象的下半部分时,无论我怎么拉滚动条也只能在客户区中显示上半部图象,下半部就是看不到,不知这是什么问题?