我使用Printer.Canvas.TextOut()
在打印机画布上打印文本。
我定义了几个打印机作业 - 一些用于图形,一些用于纯文本。到目前为止,这个工作正常。现在我有一个问题,即纯文本在黑色背景上打印出来。
只有在文本打印之前进行图形打印时才会发生这种情况(使用相同的打印机是否无关紧要)。
我不知道造成这个问题的原因。我不会在任何地方设置黑色背景。所以我希望你能提供帮助。
问题出现在PCL&后记。
在我的PCL打印机的打印预览中,一切看起来都很好。但是,纸张上的最终打印件再次为黑色。
是否会出现导致此问题的透明标志?
编辑:透明度似乎导致问题。如果我使用:
SetBkMode( Printer.Canvas.Handle, TRANSPARENT );
在打印纯文本之前,现在一切正常。好像我搞砸了某个地方。
答案 0 :(得分:2)
将BkMode设置为透明解决了问题 - 但这只是一种解决方法。
问题的原因是在图形打印中,绘制实心圆时Printer.Canvas.Brush.Color
被设置为clBlack
。并且此值未正确重置。