对于黑白打印机,在打印图象时需要做色彩转换么?我的程序在98下,黑白打印机无法打印出真彩色图象,为什么?为什么画板可以,需要做什么特殊处理么?请指教!

解决方案 »

  1.   

    其实程序不用特别作什么颜色转换,这是打印驱动程序作的事情,你的打印程序在彩色打印机上能打印出来吗?是单单在黑白打印机上的问题还是你控制打印图像就有问题,打印图像不能直接用Bitblt等函数,具体问题你说清楚了我再帮你解决。
    最近我就将我公司的程序打印(图像)速度提高了不少,在别人原来的基础上大面积提高效率,真是一件令人愉快的事情。
      

  2.   

    是这样的,我的程序在彩色打印机上工作正常,在黑白打印机上(HP),2000下正常,98下打印区域空白,用的是向打印机输出 DIB,StretchDIBits,可能是打印机的驱动有问题,不过向photoshop这样的大软件肯定是可以打印的,也就是说应该有办法解决,我不能和用户说只能用彩色打印机啊!盼回复,谢谢!
      

  3.   

    从你的介绍来看程序如果有问题的可能性应该比较小,估计是驱动的问题(我最近写了个驱动,将打印输出到一个图像文件中去)。你说2000下正常,9x下有问题,打印区域空白,使我想到一个问题,你有没有在打印的转换过程中建立很大的Bitmap,如果有这种操作,建议你检查一下,CreateBitmap等函数是有可能失败的,在打印系统上,坐标很大,9x下GDI的限制,很有可能就是CreateBitmap建立失败造成的,你检查一下有没有这种失败,我们再继续讨论。
      

  4.   

    我是直接使用StretchDIBits把一个DIB输出到打印机上,8位的可以,16和32位的就不行,就源DIB方面,改变图的大小没有效果,只和色深有关。程序中没有用CreateBitmap,是输出时直接拉伸的,当然输出的数据可能很大。
      

  5.   

    to oldwrom:
    我刚学VC,现在我们经理让我做一个关于打印的类,能不能给我一些指点或者资料?谢谢!
      

  6.   

    To: zhengxh
    建议你先到如下网站看看
    http://www.codeguru.com
    http://www.codeproject.com
    http://www.microsoft.com/msj