J'essaye d'imprimer une image classée 2x2 pouces. Créé une fonction de conversion (pouces en pixels) basée sur la résolution. Cependant, le résultat est loin de 2x2 pouces, l'impression produit une image qui correspond à peine à toute la feuille! Est-ce que je fais quelque chose de mal?PrintDocument_PrintPage & Graphics.DrawImage Taille en pouces
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
* une résolution commune pour l'affichage est de 96 dpi * >> notez que c'est en effet * commun *, mais que beaucoup de gens (surtout avec des problèmes visuels) ont fixé ce paramètre à 120 dpi ou plus et que le Mac (pas un candidat probable pour .NET peut-être, mais encore, Silverlight fonctionne sur Mac) utilise 72 dpi par défaut.En outre, * "même taille" * est relatif seulement, les tailles de pixels sur les écrans varient largement PS: +1 bonne réponse! – Abel