- - PR -
C#でAPIを使用して印刷する場合のフォント
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-20 18:41
C#でAPIを使用して印刷するアプリを開発しています。
その際にフォントを Font myFont = new Font("MS Pゴシック", 10); IntPtr hFont = myFont.ToHfont(); SelectObject(PrinterDC, hFont); //PrinterDC・・・デバイスコンテキスト //SelectObject・・・gdi32.dllから使用 設定をして印刷しているのですが 下記のようにprintDocumentクラスで印刷した場合 private void Form1_Load(object sender, System.EventArgs e) { this.printDocument1.Print(); } private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { e.Graphics.DrawString("SampleText", new Font("MS Pゴシック", 10), Brushes.Black, 150, 125); } と大きさが異なってしまうのですが なぜでしょうか? ご回答よろしくお願いします。 |
|
投稿日時: 2005-07-20 20:38
デバイスコンテキストに指定してあるグラフィックスオブジェクトの、解像度の設定が違っているとか?
_________________ |
|
投稿日時: 2005-07-20 22:30
Jittaさん
ご回答ありがとうございます。 >デバイスコンテキストに指定してあるグラフィックスオブジェクトの、解像度の設定が違っているとか? さっそく、グラフィックスオブジェクトの、解像度の設定(取得)の方法を調べましたが よくわかりませんでした。 グラフィックスオブジェクトの取得に関しては GetCurrentObject関数とGetObject関数を使用すれば いいような気がするのですが。。。 |
|
投稿日時: 2005-07-21 05:28
PrinterDC というのがなんなのかわかりませんが、e.Graphics の方は [http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemDrawingGraphicsMembersTopic.asp]System.Drawing.Graphics[/url] ここ。DpiX, dpiY でとれます。
_________________ |
1