プリンタに渡すときに拡大したい。 – プログラミング – Home

プリンタに渡すときに拡大したい。
 
通知
すべてクリア

[解決済] プリンタに渡すときに拡大したい。


ホワイト
 ホワイト
(@ホワイト)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

Win2000 VC6.0 MFCで作成しているのですが、
表示しているものをコンボボックス等そのままプリント
アウトしたいのです。きれいに紙の大きさにあわせて
プリントアウトしたいのです。
プリントスクリーンをしてペイントなどにペーストして
プリントすればいいのですがそれではめんどくさいので
どうにかしてできないものかと考えているのですが、
どうも行き詰まってしまいました。

今のプログラムは、BitBltでコピーするとプリンタに
当たり前ですが拡大されず紙はでます。
そこで拡大してプリントアウトするため
ログでStretchBltを使って拡大していたので
使ってみたのですが、どうも紙に出てくれません。
どこが違っているのでしょうか?お願いします。

CDC *testDC;
testDC=CXXXXView::GetWindowDC();
CPrintDialog printdlg(FALSE);
CDC priDC;

if(printdlg.DoModal()==IDOK){
HDC printDC;
DOCINFO di;
printDC=printdlg.GetPrinterDC();
priDC.Attach(printDC);

          diの設定。

priDC.StartDoc(&di);
priDC.StartPage();

priDC.BitBlt(0,0,1000,1000,testDC,0,0,SRCCOPY);
// priDC.SetStretchBltMode(COLORONCOLOR);
// priDC.StretchBlt(0,0,1500,1500,testDC,0,0,500,500,SRCCOPY);

priDC.EndPage();
priDC.EndDoc();
::DeleteDC(printDC);
}

BitBlt等の数字は後ほどあわせようと思ってます。


引用未解決
トピックタグ
ホワイト
 ホワイト
(@ホワイト)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

自己解決できました。

結果としてはハードコピー、印刷などで検索すると
まさに自分がしようとしていたことに近いことをしている方が
いらっしゃいました。
さらにソースを公開していましたので
拝見させていただきました。
感謝です。

プログラム本体の内容は
ハンドルからビットマップを作成し
それを伸ばしてプリンタに渡しています。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました