크기가 2x2 인치 인 이미지를 인쇄하려고합니다. 해상도를 기준으로 인치 (픽셀 단위)의 변환 함수를 만들었습니다. 그러나 결과는 2x2 인치에서 멀리 떨어져 있으며, 인쇄는 전체 시트에 거의 맞지 않는 이미지를 생성합니다! 내가 뭐 잘못하고있는거야?PrintDocument_PrintPage 및 Graphics.DrawImage 크기 (인치)
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim graph = e.Graphics
e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
e.Graphics.CompositingQuality = Drawing2D.CompositingQuality.HighQuality
Dim photo = Image.FromFile("C:\Users\Public\Pictures\Sample Pictures\Koala.jpg")
graph.DrawImage(photo, New RectangleF(0, 0, InchToPx(graph.DpiX, 2), InchToPx(graph.DpiY, 2)))
End Sub
Private Function InchToPx(ByVal dpi As Single, ByVal inches As Single) As Single
Return (inches * dpi)
End Function
*에 대한 일반적인 해결책 디스플레이는 96 dpi *입니다. >> 실제로 이것은 공통 *입니다.하지만 많은 사람들 (시력 문제가있는 사람들)이 이것을 120 dpi 이상으로 설정했으며 Mac (아마도 .NET의 후보는 아닙니다. 하지만 여전히 Mac에서 실행되는 Silverlight는 기본적으로 72 dpi를 사용합니다.) * "같은 크기"*는 상대적으로 만 사용되며 화면의 픽셀 크기는 다양합니다. – Abel