1
我正在處理PrintDocument
的PrintPageEventHandler
,以便使用Image.FromFile
方法將圖像 繪製到Graphics
設備。如何實現與Windows默認打印相同的圖像打印質量?
我試圖設置DPI值高達600,並且還
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.CompositingQuality = CompositingQuality.HighQuality;
graphics.PixelOffsetMode = PixelOffsetMode.HighQuality
如所建議的here但印刷的圖像看起來仍然pixeled和粗糙相比打印具有例如相同的文件Windows照片查看器,它提供了一個很好的結果(在Windows 7上測試過)。
我注意到Paint.net使用WIA打印對話框 - 這是否意味着Imagequality是一個.NET限制,或者我只是做錯了嗎?
完整的方法是在這裏:
private void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
// Draw a picture.
ev.Graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
ev.Graphics.SmoothingMode = SmoothingMode.HighQuality;
ev.Graphics.CompositingQuality = CompositingQuality.HighQuality;
ev.Graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
ev.Graphics.DrawImage(Image.FromFile(Global.APPDATA_PATH+ @"tmp\print.png"), ev.Graphics.VisibleClipBounds);
// Indicate that this is the last page to print.
ev.HasMorePages = false;
}
隨機問題,你使用Windows 8?我發現從.net打印時,打印輸出質量在Windows 8上顯着降低,與早期版本相比,只是好奇你是否也使用Windows 8? – JMK
另外,你的來源是什麼? – Tico
@JMK,OP表示「在Windows 7上測試過」。 – Steve