PrintDocument
을 사용하여 파일 (이미지 파일)을 프린터로 인쇄하려고합니다.문제 인쇄 된 페이지에 맞게 이미지 크기 조정
이미지를 인쇄 할 때 전체 페이지 크기가되도록 이미지의 크기를 조정하므로 이미지가 약간 잘립니다. 페이지
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
경계가 (A4) 1169x827이며 마진은 1137x795입니다 : 면적을 계산하기 위해 여백을 사용하여
는 EDIT 2
I 오전 사용 . 내 이미지 크기를 크기를 조정 한 후
는 1092x682이며 나는 그것을 그릴 다음 코드를 사용하고 있습니다 : e.Graphics.DrawImage(printBitmap, .Margins.Left, .Margins.Top)
성가신 일이 내가 PrintPreviewDialog로 인쇄 할 때 완벽하게 확장되고 있다는 것입니다하지만 난 똑같은 인쇄 할 때 실제 프린터에 맞지 않습니다.
EDIT 3
전체 코드는 this url 사용에서 찾을 수 있습니다 대부분의 개인 프린터는 할되지 않은 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) 오버로드로 그립니다. 보너스로 훨씬 좋은 출력 품질을 얻을 수 있습니다. –