利用規約の変更について

お世話になっております。お教えください。
メモリDCに描画したグラフをプリンタDCにStretchBlt()にて印刷する
プログラムを作成していますが、プリンターのメーカーによって印刷状態
が違ってしまい苦戦しています。以下、情報を列挙します。
・OSはXPで、PCはVAIOです。
・VC++6、SP5を使用しています。
・グラフはカラー対応でCanon、富士通の機種へは印刷できます。
・EPSONへは同じプログラムなのに印刷できません。
・テキストはプリンタDCへ直に書いているので全機種印刷できます。
・プリンタ機種は2006年中のものです。
・アップウィザードで提供される印刷記述は使用していません。
Canon、富士通への印刷はできているので、プログラムの手法で何か抜けている様な内容は無いと思っています。
他のアプリケーションではグラフィック印刷ができるので、何かが不足しているのですが見当がつきません。
プログラム以外で何か考慮する必要があるのでしょうか?
すみませんがお教えください。
よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

GetDeviceCapsでプリンタのデバイス能力を取得してみてください。


StretchBltがサポートされていないのかもしれません。
    • good
    • 0
この回答へのお礼

貴重なご解答を頂き有難うございます。
エプソンのサイトにプリンタの設定でスプール設定を使用/未使用でStretchBltが成功するか失敗するか左右される旨の記述がありました。
上記の設定を変更することでプログラム修正しなくて済みそうです。
(済めばと思っています。プリンタ自体は客先のため、実験していただく事になるので結果待ちです)
StretchBltがサポートされている/いないに関わらず、メモリDCの内容を印刷することはできるのでしょうか?
ご存知でしたら、引き続きお教え頂けないでしょうか?
よろしくお願い致します。

お礼日時:2007/02/14 09:44

うまくいくといいですね^^



>StretchBltがサポートされている/いないに関わらず、メモリDCの内容を印刷することはできるのでしょうか?

・StretchBltがサポートされている場合
そのままStretchBltを使用
・StretchBltがサポートされていない&BitBltがサポートされている場合
BitBltで転送できるように元からメモリDCに拡大・縮小しているものを用意して印刷
・なにもサポートされていない
1ピクセル毎にFillSolidRectで描画

という感じでしょうか・・・
    • good
    • 0
この回答へのお礼

有難うございます。
BitBltならば修正が少なくて済みそうなので倍率に注意して試してみます。
感謝いたします。
「このおしえてBP」に参加する様になってまだ日が浅く、質問、回答、お礼の方法が今一慣れておりません。ご無礼がありましたらご容赦ください。

お礼日時:2007/02/17 10:03

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング