问题
I had a problem of printing quality and I described it in this link : enter link description here
I tried many different solutions that helped other guys with similar prob but they don't work for me because I have a new prob of saving image as bitmap(with low quality)
finally I decided to ask my current question , because as u see in above link , my prob starts after saving the image in system(96dpi) and restoring it . but I have no way so I'm looking for a way that make it possible to save an image (that has pixels drawn from a graphic) without losing quality.
thanx in advance
回答1:
While 96 dpi is fine for screen display, it is not for printing. For printing you need at least 300 dpi to make it look sharp.
Out of curiosity I created a C# console application that prints a text on a 600 dpi bitmap. I came up with this:
class Program
{
public static void Main(string[] args)
{
const int dotsPerInch = 600; // define the quality in DPI
const double widthInInch = 6; // width of the bitmap in INCH
const double heightInInch = 1; // height of the bitmap in INCH
using (Bitmap bitmap = new Bitmap((int)(widthInInch * dotsPerInch), (int)(heightInInch * dotsPerInch)))
{
bitmap.SetResolution(dotsPerInch, dotsPerInch);
using (Font font = new Font(FontFamily.GenericSansSerif, 0.8f, FontStyle.Bold, GraphicsUnit.Inch))
using (Brush brush = Brushes.Black)
using (Graphics graphics = Graphics.FromImage(bitmap))
{
graphics.Clear(Color.White);
graphics.DrawString("Wow, I can C#", font, brush, 2, 2);
}
// Save the bitmap
bitmap.Save("n:\\test.bmp");
// Print the bitmap
using (PrintDocument printDocument = new PrintDocument())
{
printDocument.PrintPage += (object sender, PrintPageEventArgs e) =>
{
e.Graphics.DrawImage(bitmap, 0, 0);
};
printDocument.Print();
}
}
}
}
This is the printed result
来源:https://stackoverflow.com/questions/11699219/save-an-image-as-a-bitmap-without-losing-quality