を使用して、(ファイルから) 画像をプリンターに印刷しようとしていますPrintDocument。
これを印刷すると、画像がわずかに切り取られて、印刷出力でページ全体になるように画像のサイズを変更しています。
編集2
余白を使用して、使用する領域を計算しています。
With printSettings.DefaultPageSettings
Dim areaWidth As Single = .Bounds.Width - .Margins.Left - .Margins.Right
Dim areaHeight As Single = .Bounds.Height - .Margins.Top - .Margins.Bottom
End With
ページの境界は 1169x827 (A4) で、余白を含めると 1137x795 です。
サイズ変更後の画像サイズは 1092x682 で、次のコードを使用して描画しています。
e.Graphics.DrawImage(printBitmap, .Margins.Left, .Margins.Top)
厄介なことは、PrintPreviewDialog に印刷すると完全にスケーリングされますが、まったく同じコードを実際のプリンターに印刷すると収まらないことです。
編集3
完全なコードは、この URLで見つけることができます 。
Dim clsPrint As New clsPrinting
With clsPrint
.Landscape = True
.SetMinimumMargins()
If .ShowPrintDialog Then
.Documentname = "Some doc name"
.Preview = False 'When True shows ok
.PrintImage("filename of a png file")
End If
End With