我原来的程序是MM—TEXT模式下的,要用MM-LOENGLISH打印。由于Y方向反的,要把所有的老数据的Y值改过来,特别是CRect。太麻烦了,有没有好的办法?
我想在OnPrint中先用MM-TEXT模式,把当前输出送到一个选上内存兼容位图的memdc,然后再把pDC设置成
MM-LOENGLISH模式。然后把位图输出到打印机,试了一下,用Bitblt发现画出的图是反的
——就象底片,而且图片的过度色都没有了,好象是黑白的。
后来在MM-TEXT下直接打印,直接(不用内存位图方式)输出,打出来很小,但方向颜色正常,先输出到memdc再用OnPrint的pDC->Bitblt(MM_TEXT mode),我倒!又成了黑白的!
是不是 OnPrint的pDC不支持BitBlt?
请指教。
我想在OnPrint中先用MM-TEXT模式,把当前输出送到一个选上内存兼容位图的memdc,然后再把pDC设置成
MM-LOENGLISH模式。然后把位图输出到打印机,试了一下,用Bitblt发现画出的图是反的
——就象底片,而且图片的过度色都没有了,好象是黑白的。
后来在MM-TEXT下直接打印,直接(不用内存位图方式)输出,打出来很小,但方向颜色正常,先输出到memdc再用OnPrint的pDC->Bitblt(MM_TEXT mode),我倒!又成了黑白的!
是不是 OnPrint的pDC不支持BitBlt?
请指教。
今天又搞了一下,发现是memdc不能创建成兼容 OnPrint的pDC。用CClientDC试了一下,再用pDC->StretchBlt(0,0,nwidth,-nheight,&memdc,0,0,nwidth,nheight,SRCCOPY);就能输出了。
但是图片中得文字显得太粗糙了,与pDC->TextOut直接输出的没法比。看来这种借用图片的方法还有局限。
有没有更好的方法啊?
谢谢诸位,
帖子加分了!