2349 x 3600 픽셀의 이미지를 인쇄하고 있습니다. 이미지의 크기를 조정했지만 인쇄가 흐리게 깨끗하지 않습니다. 제발 코드 루크주세요 -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;
}
나는 비트 맵 크기, 그래픽의 품질을 변경했지만 여전히 흐린 이미지에서 모든 것을 시도했습니다. Microsoft Office 2007을 사용하여 이미지의 크기를 조정하고 인쇄 한 결과 매우 분명했습니다. Microsoft 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 배나 쉽습니다. 모니터는 보통 96dpi이며 잉크젯 또는 레이저 프린터는 600dpi입니다. 따라서 비트 맵의 모든 단일 픽셀은 종이에 6x6 크기의 잉크로 바뀝니다. 당신의 팔은 그것을 숨길만큼 길지 않습니다. 비트 맵의 모든 픽셀이 프린터의 한 픽셀에 매핑되도록 비트 맵을 6 배 작게 인쇄하는 것이 유일한 진정한 해결책입니다. 또는 훨씬 더 큰 비트 맵을 사용하십시오. –