C# 生成 DataMatrix 格式的二维码

该文主要是利用OnBarcode.dll 生成 DataMatrix 格式的二维码的一些简单方法和操作技巧。关于QrBarcode的二维码比较常见和简单,网上有很多资源。

1、附件为dll

2、利用上述控件生成二维码的核心代码:

    (a)C# 代码:

   DataMatrix datamatrix = new DataMatrix();
datamatrix.Data = "0123456789";

// Create Data Matrix and encode barcode to Jpeg format
datamatrix.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;
datamatrix.drawBarcode("C://csharp-datamatrix.jpg");

   (b) VB.NET 代码:

 

   Dim datamatrix As OnBarcode.Barcode.DataMatrix
datamatrix = New OnBarcode.Barcode.DataMatrix()
datamatrix.Data = "0123456789"

' Create Data Matrix and encode barcode to Jpeg format
datamatrix.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg
datamatrix.drawBarcode("C://vbnet-datamatrix.jpg")

(c)其他函数接口(分别是C#和VB):

public void drawBarcode(Graphics graphics);

public void drawBarcode(string filename);

public Bitmap drawBarcode();

public void drawBarcode(Stream fileStream);
   Public Sub drawBarcode(ByRef graphics As Graphics)

Public Sub drawBarcode(ByVal filename As String)

Public Function drawBarcode() As Bitmap

Public Sub drawBarcode(ByRef fileStream As Stream)

 3、实践部分:

    创建如下界面:按钮按下,生产条码。

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

 

using OnBarcode.Barcode;

using System.Drawing.Imaging;

 

namespace DataMatrix1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            DataMatrix datamatrix = new DataMatrix();

            // Barcode data to encode

            datamatrix.Data = "OnBarcode";

            // Data Matrix data mode

            datamatrix.DataMode = DataMatrixDataMode.ASCII;

            // Data Matrix format mode

            datamatrix.FormatMode = DataMatrixFormatMode.Format_10X10;

            /*

            * Barcode Image Related Settings

            */

            // Unit of meature for all size related setting in the library. 

            datamatrix.UOM = UnitOfMeasure.PIXEL;

            // Bar module size (X), default is 3 pixel;

            datamatrix.X = 3;

            // Barcode image left, right, top, bottom margins. Defaults are 0.

            datamatrix.LeftMargin = 0;

            datamatrix.RightMargin = 0;

            datamatrix.TopMargin = 0;

            datamatrix.BottomMargin = 0;

            // Image resolution in dpi, default is 72 dpi.

            datamatrix.Resolution = 72;

            // Created barcode orientation. 

            // Rotate0 = 0,

            // Rotate90 = 1,

            // Rotate180 = 2,

            // Rotate270 = 3,

            // 4 options are: facing left, facing right, facing bottom, and facing top

            datamatrix.Rotate = Rotate.Rotate0;

            // Geneat data matrix and encode barcode to gif format

            datamatrix.ImageFormat = System.Drawing.Imaging.ImageFormat.Bmp;

            datamatrix.drawBarcode("C:\\datamatrix.jpg");   //以保存特定格式方法生产二维码

            //You can also call other drawing methods to generate barcodes

            //public void drawBarcode(Graphics graphics);

            //public void drawBarcode(string filename);

            //public Bitmap drawBarcode();

            //public void drawBarcode(Stream stream);       //将该种编码的格式,写入文件流之中

            this.pictureBox1.Image = datamatrix.drawBarcode();  //调用其中一个接口,将图片以bitmap形式显示出来

        }

    }

}

测试结果:

 

当初只是随便分享一下,没想到大家使用条码的这么多,评论也有很多,谢谢大家支持。

这里附上几个条码常用的dll。

可在这里下载:https://i.cnblogs.com/Files.aspx

事实上:生成条码的方法有很多种,库也有很多,大家可以多去琢磨琢磨,不能局限一种,就我所知所用过的就有五个库。

网上也有很多对条码底层的开源研究,可自行。

 

分享共进步,谢谢阅读!

转载于:https://www.cnblogs.com/imyao/p/5616237.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,你可以使用第三方库QRCoder来生成二维码,并通过System.Drawing命名空间中的类来设置透明底红色效果。下面是一个示例代码,演示了如何生成透明底红色的二维码: 首先,你需要安装QRCoder库。你可以通过NuGet包管理器或通过命令行安装QRCoder库。 ```csharp using System; using System.Drawing; using QRCoder; class Program { static void Main() { // 创建QRCodeGenerator对象 QRCodeGenerator qrGenerator = new QRCodeGenerator(); // 创建QRCodeData对象,并设置二维码内容 QRCodeData qrCodeData = qrGenerator.CreateQrCode("https://example.com", QRCodeGenerator.ECCLevel.Q); // 创建QRCode对象 QRCode qrCode = new QRCode(qrCodeData); // 创建Bitmap对象,并设置大小和背景色 Bitmap qrCodeImage = new Bitmap(qrCode.GetGraphic(20, Color.Transparent, Color.Red, true)); // 保存二维码图片 qrCodeImage.Save("qrCode.png"); // 释放资源 qrCodeImage.Dispose(); } } ``` 在这个示例中,我们首先创建了一个QRCodeGenerator对象,然后使用CreateQrCode方法创建QRCodeData对象,并设置二维码的内容和容错级别。 接下来,我们创建了一个QRCode对象,并使用GetGraphic方法生成二维码图像。我们通过设置背景色为透明(Color.Transparent)和前景色为红色(Color.Red)来实现透明底红色效果。 最后,我们创建了一个Bitmap对象,并保存二维码图片。你可以根据需要修改保存的文件名和路径。 希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值