显示图形色彩失真的问题?
我要实现一个图像预览的功能,从CStatic派生出类CImageStatic,然后响应WM_PAINT中用StretchBlt画出图形。由于预览框较小(150*150),当浏览较大位图(一般为640*480,16位色),会发生比较严重的失真现象(主要指颜色),请各位高手指点迷津。
windows中画笔显示缩放图形时就很好。
...
...
HBITMAP hBmp=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),
sImage,//bmp filename
IMAGE_BITMAP,
0,0,
LR_LOADFROMFILE and LR_CREATEDIBSECTION);
...
...
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&memdc,0,0,
bmpInfo.bmWidth,bmpInfo.bmHeight,SRCCOPY);