C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 印刷時にイメージが圧縮伸長されないようにしたい


(過去ログ 138 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■81209 / inTopicNo.1)  印刷時にイメージが圧縮伸長されないようにしたい
  
□投稿者/ kiku (114回)-(2016/09/02(Fri) 12:04:35)

分類:[C#] 


開発環境
 VS2015
 C#
 .NETFrameWork4.6.1
 デスクトップアプリ

現在、下記のURLを参考にMicrosoftレポートを利用して
プリンタへのダイレクト印刷(ReportViewerを利用しないという意味)を行っています。
https://msdn.microsoft.com/ja-jp/library/ms252091(v=vs.80).aspx

Microsoftレポートの場合、直接の印刷メソッドがないため、
一度、EMFファイルとして出力し、それをPrintPageイベントで印刷しています。

そのPrintPageイベント内に下記の箇所があるのですが、
このメソッドは指定領域に収まるように描画するメソッドであるため
圧縮伸長が発生する可能性があります。
ev.Graphics.DrawImage(pageImage, ev.PageBounds);

これを余白も考慮しながら圧縮伸長させないようにしたいと考えています。

ここで質問です。

質問1
 ev.PageBoundsは印刷領域全体という意味でしょうか?
 その場合、プリンタでは印刷できない領域がありますが、
 この印刷できない領域を含んでるということでしょうか?

質問2
 上記質問の続きなのですが、
 実際に印刷可能な最大領域を取得したい場合
 どのようにすれば良いでしょうか?

引用返信 編集キー/
■81215 / inTopicNo.2)  Re[1]: 印刷時にイメージが圧縮伸長されないようにしたい
□投稿者/ kiku (115回)-(2016/09/02(Fri) 13:50:52)
質問3
 Metafile pageImageの幅と高さは現在、3509、2481であり、
 現在A4横(297ミリ、210ミリ)で設定しているため、
 そこから逆算すると、300dpiでEMFファイルが出力されているようです。
 この300dpiは明示的に指定していません。
 これを例えば600dpiに変更することはできるのでしょうか?
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -