3

印刷品質に問題があり、このリンクで説明しました : ここにリンクの説明を入力してください

私は同様の問題で他の人を助ける多くの異なる解決策を試しましたが、画像をビットマップとして保存するという新しい問題があるため(低品質で)、それらは私にとってはうまくいきません

最後に、現在の質問をすることにしました。上記のリンクでわかるように、システム(96dpi)に画像を保存して復元した後に問題が開始されるためです。しかし、私には方法がないので、品質を損なうことなく画像 (グラフィックから描画されたピクセルを含む) を保存できる方法を探しています。

事前に感謝

4

1 に答える 1

7

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

これが印刷結果です

これは印刷結果です。

于 2012-07-28T08:50:23.613 に答える