PrintDocument
を使用して、イメージ(ファイルから)をプリンタに印刷しようとしています。問題印刷されたページに合わせてイメージのサイズを変更する
イメージを印刷したときにフルページになるようにイメージのサイズを変更していますので、イメージが少し切り取られています。
EDIT 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に印刷するとき、それは完全にスケーリングされていることですが、私は正確に同じ印刷するときそれが適合しない実際のプリンタへのコード。完全なコードはthis url 使用で見つけることができ
EDIT 3
:あなたが最も個人的なプリンタがすることができないfull bleedでページを印刷するには欠けているように
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
サイズ変更を行うコードを投稿できますか?実際にはイメージのサイズを変更するのではなく、イメージを切り取っている可能性があります。 – briddums
[Boundsドキュメント](http://msdn.microsoft.com/en-us/library/system.drawing.printing.pagesettings.bounds.aspx)によると、「Boundsプロパティを使用するページの印刷領域を計算するMarginsプロパティと一緒に使用します。おそらく 'printSettings.DefaultPageSettings.Margins'から値を減算する必要がありますか? – lsuarez
画像サイズ変更コードに問題がある可能性があります。サイズを変更しないで、Graphics.DrawImage(Image、Rectangle)オーバーロードで描画してください。あなたはボーナスとしてより良い出力品質を得るでしょう。 –