我打印的圖像2349 x 3600像素。我調整了圖像大小,但打印模糊不清。請looke在碼 -在C打印高分辨率圖像#
public Bitmap resizeimage(Bitmap bitmap)
{
Bitmap result = new Bitmap(850, 1101);
using (Graphics grap = Graphics.FromImage(result))
{
grap.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
grap.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Bicubic;
grap.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
grap.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
grap.DrawImage(bitmap, 0, 0, 850, 1101);
}
return result;
}
我什麼都試過更改位圖大小,圖形的質量,但仍然圖像模糊。 我用微軟Office 2007和調整大小的圖像並打印它,它是如此清晰。 我如何才能獲得準確的打印質量,正如我在微軟Office 2007. 請幫助。
這裏是繪製前的代碼 - PrintPreviewDialog printpreview = new PrintPreviewDialog();
// PrintPreviewControl printpreviewc = new PrintPreviewControl();
PrintDocument printdocument = new PrintDocument();
printdocument.PrinterSettings.PrinterName = "EPSON L100 Series";
int horizantal_dpi = printdocument.PrinterSettings.DefaultPageSettings.PrinterResolution.X;
int vertical_dpi = printdocument.PrinterSettings.DefaultPageSettings.PrinterResolution.Y;
decimal final_width_dpi = (((int)printdocument.DefaultPageSettings.PrintableArea.Width * horizantal_dpi)/100);
decimal final_height_dpi = (((int)printdocument.DefaultPageSettings.PrintableArea.Height * vertical_dpi)/100);
printimagaprint = new Bitmap((int)final_width_dpi, (int)final_height_dpi);
//set resoultion
printimagaprint.SetResolution(horizantal_dpi, vertical_dpi);
Graphics g = System.Drawing.Graphics.FromImage(printimagaprint);
g.DrawImage(bitmap, 0, 0, printimagaprint.Width, printimagaprint.Height);
printdocument.PrintPage+=new PrintPageEventHandler(printdocument_PrintPage);
// printdocument.Print();
printdocument.DocumentName = textBox1.Text;
printpreview.Document = printdocument;
printpreview.ShowDialog();
你的代碼沒什麼意義。什麼是源位圖,爲什麼我將850x1101視爲繪製圖像的大小?你如何打印它? – TomTom
TomTom指出,您的代碼不完整。沒有太多需要解決的問題,但是您可能需要將圖像設置爲300dpi,或者在打印之前確保您匹配打印機的分辨率。 – misfitgeek
這是非常重要的,打印機的分辨率比顯示器輕鬆6倍。顯示器通常爲96 dpi,噴墨或激光打印機爲600 dpi。因此,位圖中的每個像素都會變成紙張上的6x6墨水塊。你的手臂不夠長,無法隱藏它。唯一真正的對策是將位圖打印6倍,使位圖中的每個像素都映射到打印機上的一個像素。或者使用更大的位圖。 –