C#发布的错误(可能重复)条形码(使用BarcodeLib参考)

时间:2017-09-04 08:44:16

标签: c# barcode barcode-printing

现在,我已经解决了第一个问题。感谢MihaiOvidiuDrăgoi。但它仍然是循环的。

Newest barcode

最新代码:

        var checkbarcode = (
            from x in db.pelanggan
            where x.barcodepelanggan.Equals(textBox2.Text)
            select x).FirstOrDefault();

        int W = Convert.ToInt32(100);
        int H = Convert.ToInt32(20);
        b.Alignment = BarcodeLib.AlignmentPositions.CENTER;

        BarcodeLib.TYPE type = BarcodeLib.TYPE.UNSPECIFIED;

        type = BarcodeLib.TYPE.UPCA;

        b.RotateFlipType = RotateFlipType.RotateNoneFlipNone;

        pictureBox1.BackgroundImage = b.Encode(type, this.textBox2.Text.Trim(), this.btnwarnaBarcode.BackColor, this.btnwarnaLatar.BackColor, W, H);


        pictureBox1.Location = new Point((this.pictureBox1.Location.X + this.pictureBox1.Width / 2) - pictureBox1.Width / 2, (this.pictureBox1.Location.Y + this.pictureBox1.Height / 2) - pictureBox1.Height / 2);

我正在尝试发布我的条形码并取得成功,但在使用条形码扫描仪扫描后,此条形码未被检测到。我在谷歌搜索问题后,问题可能是因为它循环。我对条形码进行了比较(来自不同的程序,这里是比较。

这张照片可能有助于您查看比较:

The True one(1) - My issued Barcode (The Wrong one)(2)

但在我看到代码并对它们进行比较之后,没有任何不同可能会导致我的条形码发布出现问题。我使用相同的条形码类型,即UPC-A。

这是我的代码:

            var checkbarcode = (
            from x in db.pelanggan
            where x.barcodepelanggan.Equals(textBox2.Text)
            select x).FirstOrDefault();

        int W = Convert.ToInt32(100);
        int H = Convert.ToInt32(20);
        b.Alignment = BarcodeLib.AlignmentPositions.CENTER;

        BarcodeLib.TYPE type = BarcodeLib.TYPE.UNSPECIFIED;

        type = BarcodeLib.TYPE.UPCA;

        pictureBox1.BackgroundImage = b.Encode(type, this.textBox2.Text.Trim(), this.btnwarnaLatar.BackColor, this.btnwarnaBarcode.BackColor, W, H);

        pictureBox1.Location = new Point((this.pictureBox1.Location.X + this.pictureBox1.Width / 2) - pictureBox1.Width / 2, (this.pictureBox1.Location.Y + this.pictureBox1.Height / 2) - pictureBox1.Height / 2);

这个想法是,当txtbarcode改变时,条形码会打印在右侧的图片框或用户的卡组框中。

您的任何帮助都可以帮助我扫描条形码而不会被环绕。提前致谢:D

真实代码作为参考:www.codeproject.com/Articles/20823/Barcode-Image-Generation-Library

1 个答案:

答案 0 :(得分:0)

嘿,发现它 - 颜色是倒置的。如果您下载第二张图像并反转颜色,任何扫描仪都将读取正确的值。检查您的代码,确保您不会在任何地方反转颜色。

或者,也许它更容易 - 只需在显示它们之前再次反转它们。

PS - 您可能只需要在this.btnwarnaLatar.BackColor

中切换this.btnwarnaBarcode.BackColorb.Encode()