欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 如何生成 DataMatrix 格式的二维码

程序员文章站 2022-03-04 12:15:51
该文主要是利用onbarcode.dll 生成datamatrix 格式的二维码的一些简单方法和操作技巧。关于qrbarcode的二维码比较常见和简单,网上有很多资源。1、附件为dll2、利用上述控件...

该文主要是利用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、实践部分:

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

C# 如何生成 DataMatrix 格式的二维码

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形式显示出来

        }

    }

}

测试结果:

C# 如何生成 DataMatrix 格式的二维码

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

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

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

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

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

到此这篇关于c# 如何生成 datamatrix 格式的二维码的文章就介绍到这了,更多相关c# datamatrix 格式二维码内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!