保存图像为位图而不失品位(save an image as a bitmap without los

2019-06-26 14:03发布

我不得不印刷质量的问题,我形容它在这个环节: 在这里输入链接的描述

我尝试了许多不同的解决方案,帮助其他球员有类似的概率,但他们不适合我,因为我有保存图像作为位图的一个新的概率(低质量)

终于,我决定要问我现在的问题,因为你看到的上面的链接,我的概率在系统中保存图像(96DPI)和恢复之后开始。 但我也没有办法,所以我正在寻找一种方式,使其能够保存图像(即具有从图形绘制的像素),而不失品位。

thanx提前

Answer 1:

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

这是打印结果



文章来源: save an image as a bitmap without losing quality