- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:印刷について。)
プリンターの印刷状態が異なる問題について
このQ&Aのポイント
- プリンターの印刷状態について質問があります。現在、メモリDCに描画したグラフをプリンタDCにStretchBlt()にて印刷するプログラムを作成していますが、プリンターのメーカーによって印刷状態が異なっています。具体的には、OSはXPで、PCはVAIOを使用し、VC++6、SP5を利用しています。カラー対応のグラフはCanonや富士通の機種へは印刷することができますが、EPSONでは同じプログラムでも印刷できません。テキストのみの印刷は全機種で可能です。問題の原因や解決策についてわかる方がいらっしゃいましたら、教えてください。
- プリンターの印刷状態について質問です。現在、メモリDCに描画したグラフをプリンタDCにStretchBlt()にて印刷するプログラムを作成していますが、プリンターのメーカーによって印刷状態が違っており困っています。OSはXPで、PCはVAIOを使用し、VC++6、SP5を利用しています。カラー対応のグラフはCanonや富士通の機種へは印刷することができますが、EPSONでは同じプログラムでも印刷できません。テキストのみの印刷は全機種で可能です。何か解決策がある方がいらっしゃいましたら、アドバイスをお願いします。
- プリンターの印刷状態についての問題です。メモリDCに描画したグラフをプリンタDCにStretchBlt()にて印刷するプログラムを作成していますが、プリンターのメーカーによって印刷状態が異なっています。具体的には、OSはXPで、PCはVAIOです。VC++6、SP5を使用しています。カラー対応のグラフはCanonや富士通の機種へは印刷することができますが、EPSONでは同じプログラムでも印刷できません。テキストのみの印刷は全機種で可能です。問題の原因がわかる方がいらっしゃいましたら、アドバイスをお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
GetDeviceCapsでプリンタのデバイス能力を取得してみてください。 StretchBltがサポートされていないのかもしれません。
その他の回答 (1)
- clsdi99
- ベストアンサー率63% (31/49)
回答No.2
うまくいくといいですね^^ >StretchBltがサポートされている/いないに関わらず、メモリDCの内容を印刷することはできるのでしょうか? ・StretchBltがサポートされている場合 そのままStretchBltを使用 ・StretchBltがサポートされていない&BitBltがサポートされている場合 BitBltで転送できるように元からメモリDCに拡大・縮小しているものを用意して印刷 ・なにもサポートされていない 1ピクセル毎にFillSolidRectで描画 という感じでしょうか・・・
質問者
お礼
有難うございます。 BitBltならば修正が少なくて済みそうなので倍率に注意して試してみます。 感謝いたします。 「このおしえてBP」に参加する様になってまだ日が浅く、質問、回答、お礼の方法が今一慣れておりません。ご無礼がありましたらご容赦ください。
お礼
貴重なご解答を頂き有難うございます。 エプソンのサイトにプリンタの設定でスプール設定を使用/未使用でStretchBltが成功するか失敗するか左右される旨の記述がありました。 上記の設定を変更することでプログラム修正しなくて済みそうです。 (済めばと思っています。プリンタ自体は客先のため、実験していただく事になるので結果待ちです) StretchBltがサポートされている/いないに関わらず、メモリDCの内容を印刷することはできるのでしょうか? ご存知でしたら、引き続きお教え頂けないでしょうか? よろしくお願い致します。