C# 打印条形码不是';t清除(WPF)

C# 打印条形码不是';t清除(WPF),c#,wpf,C#,Wpf,我需要在我的应用程序中使用条形码打印模块,但无法确定如何正确打印条形码。看起来它的分辨率太低了。 我正在使用。正如随附的照片所示,顶部条形码由打印机软件打印,证明打印机正常,底部图片由我的代码打印: [WPF] 根据Don的建议,我使用了条形码字体,更容易和高质量的打印! 我正在使用您是否在任何地方设置了SnapToDevicePixels?没有区别。我在图像上使用它,也在网格上尝试过。您是否尝试过将条形码的实际大小传递给CreateBitmapSourceFromHBitmap,而不是Int3

我需要在我的应用程序中使用条形码打印模块,但无法确定如何正确打印条形码。看起来它的分辨率太低了。 我正在使用。正如随附的照片所示,顶部条形码由打印机软件打印,证明打印机正常,底部图片由我的代码打印:

[WPF]


根据Don的建议,我使用了条形码字体,更容易和高质量的打印!
我正在使用

您是否在任何地方设置了
SnapToDevicePixels
?没有区别。我在图像上使用它,也在网格上尝试过。您是否尝试过将条形码的实际大小传递给
CreateBitmapSourceFromHBitmap
,而不是
Int32Rect.Empty
?尝试设置和/或对照图像
。在这种情况下,您可能希望禁用抗锯齿功能,而不是使用Zen条形码,请尝试仅使用条形码字体。你可以将文字以非常高的分辨率“写入”到图像上,并使其以你想要的任何大小清晰可见。你是如何解决这个问题的?你能分享一下吗!现在我有麻烦了。我正在做:
e.Graphics.DrawString(“25个字符”,字体,画笔,0,0)
但结果和你们的一样。任何条形码扫描仪都无法扫描。只需使用该字体,但请记住将代码放在*之间,它就会工作。我已经使用了它。它打印良好,但不可扫描:(.最大字符数为28,热敏打印机分辨率为203 DPI。
        <Grid x:Name="_printSerialBcode" Margin="9" Visibility="Visible">
            <Image x:Name="serial_bcode1" Height="20" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="2"/>
        </Grid>
    private void printJob()
    {
        // use printer we need
        SetDefaultPrinter("Brother QL-700");
        //draw barcodes
        BarcodeDraw bc = BarcodeDrawFactory.Code128WithChecksum;

        Bitmap serial_bitmap = (Bitmap)bc.Draw(serial, 20);

        ImageConverter ic = new ImageConverter();

        //generate bitmap
        serial_bcode1.Source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(serial_bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());

        var dlg = new PrintDialog();

        //print main label
        dlg.PrintTicket.CopyCount = 1; // number of copies
        dlg.PrintTicket.PageOrientation = PageOrientation.Landscape;
        dlg.PrintVisual(_printSerialBcode, "Barcode");

        //change default printer to original one
        SetDefaultPrinter(defaultPrinter);
    }