Drucken Sie ein hochauflösendes Bild in C#C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Drucken Sie ein hochauflösendes Bild in C#

Post by Anonymous »

Ich drucke ein Bild mit 2349 x 3600 Pixeln. Ich habe die Bildgröße geändert, aber der Ausdruck ist verschwommen und nicht sauber. Bitte schauen Sie sich den Code an -

Code: Select all

using System.Drawing.Drawing2D;

public Bitmap resizeimage(Bitmap bitmap)
{
Bitmap result = new Bitmap(850, 1101);
using (Graphics grap = Graphics.FromImage(result))
{
grap.CompositingQuality = CompositingQuality.HighQuality;
grap.InterpolationMode  = InterpolationMode.Bicubic;
grap.SmoothingMode      = SmoothingMode.HighQuality;
grap.CompositingQuality = CompositingQuality.HighQuality;

grap.DrawImage(bitmap, 0, 0, 850, 1101);
}
return result;
}
Ich habe alles versucht, von der Änderung der Bitmap-Größe bis zur Qualität der Grafiken, aber das Bild war immer noch unscharf.
Ich habe Microsoft Office 2007 verwendet, die Bildgröße geändert und es gedruckt, es war so klar.
Wie ich die exakte Druckqualität wie in Microsoft Office 2007 erreichen kann.
Bitte helfen Sie.
Hier ist der Code vor dem Zeichnen –

Code: Select all

PrintPreviewDialog printpreview = new PrintPreviewDialog();

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();

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post