我在一个画图程序中用StretchDIBits拉伸图像,可是在画图时经常出现横纹。那位大虾知道原因,应给怎样解决?
我的用户如下:
::SetStretchBltMode(m_hDC,STRETCH_DELETESCANS);
::StretchDIBits(m_hDC,rect.left,rect.top,rect.right,rect.bottom,0,0,lpBIH->biWidth,lpBIH->biHeight,lpBits,(BITMAPINFO*)lpBIH,DIB_RGB_COLORS,SRCCOPY);

解决方案 »

  1.   

    彩色:SetStretchBltMode(hDC,COLORONCOLOR)
    黑白:
          SetStretchBltMode(hDC,BLACKONWHITE)//只留黑色
    或:   SetStretchBltMode(hDC,WHITEONBLACK)//只留白色
      

  2.   

    哦?你是说,当你把你的图拉伸到显示区域时,却残留了上次的显示图象?
    两张图大小一样而且拉伸显示的区域也一样么?不一样就Invalidate()一下..
    怪事,这两句代码是说不清的..
      

  3.   

    事实上,出现横纹的颜色是统一的,并且并不数据图片的颜色,我怀疑
    是StretchDIBits的问题。我也怀疑过是不是我传给StretchDIBits的DIB数据有问题,不过就算是数据不对
    也不会产生同样颜色的横纹。