2009-09-04 9 views
1

PS_SOLIDスタイルを使用して、MFC/VS6ベースのアプリケーションで灰色の線を印刷するための「魔法のトリック」は誰も知っていますか?MFC/VS6で灰色の線を印刷する

これはPDFに印刷するときに機能しますが、私の白黒レーザープリンタに印刷すると黒い線が表示されます。また、PS_INSIDEFRAMEスタイルで動作しますが、通常のPS_SOLIDを行うことができないように私には奇妙に思えるグレー

ここ

CPENを設置している方法は次のとおりです。 CPEN linePen(PS_SOLID、50、RGB(128,128,128));

私は描画にMoveTo/LineTo関数を使用しています。

ありがとうございます!

  • ファビアン
+0

それは50ピクセル幅で描かれていますが、黒いですか? – Goz

答えて

0

あなたは1のビット深度を持っていないこと、すなわち、プリンタのコンテキストが正しく設定されていますか?

+0

大変遅れて申し訳ありません。プリンタのDCは実際にはビット深度が1です(デバイスの上限に従います)。私は、DEVMODEがBitsPerPixelを提供していることに気付いたが、これを設定するとき(そして、おそらくプリンタに依存する)、私は確信が持てない。何かヒント? – Fabian

+0

プリンタの設定ダイアログからプリンタ機能を取得します。例については、MFCでの印刷に関するチュートリアルを参照してください。ここにはコードはありませんが、IIRCでは、プリンタの設定ダイアログから完全なDEVMODE構造体を取得し、それを使って印刷するデバイスを作成します。これのほとんどは、MFCサンプルからコピーするボイラープレートコードです(MFCサンプルにも印刷例があると思いますが、実際はそこにあると確信しています)。 – Roel

関連する問題