当我们需要缩放图片时,要用到stretchblt,但会产生失真现象,在之前要用SetStretchBltMode(HALFTONE )就可以了;
以下是我的程序:
CDC *pDC=GetDC();
CDC memDC1,memDC2;
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
memDC1.CreateCompatibleDC(pDC);
memDC1.SelectObject(&bitmap);
pDC->SetStretchBltMode(HALFTONE);
pDC->SetBrushOrg(0,0);
pDC->StretchBlt(0,0,300,300,&memDC1,0,0,1600,1200,SRCCOPY);