我遇到了打印质量问题,我在此链接中进行了描述: 在此处输入链接描述
我尝试了许多不同的解决方案来帮助其他有类似问题的人,但它们对我不起作用,因为我有一个将图像保存为位图的新问题(质量低)
最后我决定问我当前的问题,因为正如你在上面的链接中看到的,我的问题是在将图像保存到系统(96dpi)并恢复它之后开始的。但我没有办法,所以我正在寻找一种方法,可以在不损失质量的情况下保存图像(具有从图形中绘制的像素)。
提前谢谢
虽然 96 dpi 适合屏幕显示,但不适用于打印。对于打印,您至少需要 300 dpi 才能使其看起来清晰。
出于好奇,我创建了一个在 600 dpi 位图上打印文本的 C# 控制台应用程序。我想出了这个:
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();
}
}
}
}
这是打印的结果