各位高手:
有一个问题请大家帮帮忙,
碰到这样的一个问题,在OnDraw函数中要输出一个位图,
本程序用Wizzard建立一个工程,
然后在位图中插入任一个位图资源,程序执行后能在屏幕上显示,
但死活不能输到打印机上,即在打印机上打不出图形,不知是何故,
不知各位高手碰到过没有,
请高手帮忙,先表示诚挚的谢意!另打印机的设置应该没有问题,打印时文字能打出(比如此段中的“I Love U”)。void CTestView::OnDraw(CDC* pDC)
{
CTestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap bmp;
CDC MemDC;
pDC->TextOut(300,-600,"I Love U");
if(!(bmp.LoadBitmap(IDB_Icon)))
MessageBox("bmp is not OK!\n");
MemDC.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap=MemDC.SelectObject(&bmp);
BITMAP bm;
bmp.GetObject(sizeof(BITMAP),&bm);
pDC->StretchBlt(300,-500,bm.bmWidth*3,-bm.bmHeight*3,&MemDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
// pDC->BitBlt(300,-500,bm.bmWidth,bm.bmHeight,&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBitmap);
MemDC.DeleteDC();
bmp.DeleteObject();
// TODO: add draw code for native data here
}

解决方案 »

  1.   

    大哥,能说的详细一点吗,
    我用的是LOMETRIC模式,应该怎样作呀,急死我了,我已经困惑一个星期了。
      

  2.   

    不是映射模式的问题,位图和DC的兼容性的问题我的blog里面说了一下位图打印的问题,你可以去看看
      

  3.   

    blog.csdn.net/bluebohe
    应该是这个吧……
      

  4.   

    感谢 bluebohe(薄荷) 大哥,解决了困惑我已久的问题。