- - PR -
VB2005 画面ハードコピー サイズ変更
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-01-17 14:24
Windows Xp, VB2005で開発中です。
フォームのハードコピーを取って、それを印刷するプログラムを作成中ですが、 ハードコピーのサイズが大きすぎて印刷用紙の途中で切れてしまいます。 ハードコピーをサイズ変更の仕方を教えてください。 下記は実際コーディングしたコードです。 -------------------------------------------------------------------- 'フォームのイメージを取得する Public Function CaptureControl(ByVal ctrl As Control) As Bitmap Dim g As Graphics = ctrl.CreateGraphics() Dim img As New Bitmap(ctrl.ClientRectangle.Width, _ ctrl.ClientRectangle.Height, g) Dim memg As Graphics = Graphics.FromImage(img) Dim dc1 As IntPtr = g.GetHdc() Dim dc2 As IntPtr = memg.GetHdc() BitBlt(dc2, 0, 0, img.Width, img.Height, dc1, 0, 0, SRCCOPY) g.ReleaseHdc(dc1) memg.ReleaseHdc(dc2) memg.Dispose() g.Dispose() Return img End Function | ||||||||
|
投稿日時: 2007-01-17 15:11
印刷時に希望の大きさでDrawすればよいです。 ・例
| ||||||||
|
投稿日時: 2007-01-17 15:20
.NET Framework 2.0 であれば、System.Drawing.Graphics.CopyFromScreen メソッドを 使用された方が良いのではないでしょうか?
リファレンスで、Graphics.DrawImage メソッドのオーバーロードを参照してください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-01-17 16:14
まどかさん、じゃんぬねっとさん
無事にできました。 教えていただきありがとうございました。 |
1