program.cs
来自「DataMatrix二维条码识别算法,基于Windows」· CS 代码 · 共 125 行
CS
125 行
using System;
using System.Collections.Generic;
using System.Text;
using IEC16022Sharp;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
namespace TestApp
{
class Program
{
static void Main(string[] args)
{
// Simple test
SimpleDataMatrix();
ResizeDataMatrix();
BigDataMatrix();
// Important: for a real speed test, run the test outside Visul Studio
SpeedTest(0);
SpeedTest(1);
SpeedTest(2);
// FastBmp
FastBmpOne();
FastBmpTwo();
// Multithread
MultiThreadTest.Exec();
// "self test"
Test_ReedSol.Exec();
// A known issue
KnownIssue.Exec();
Console.WriteLine("***END***");
Console.WriteLine("Press a key to exit");
Console.ReadKey();
}
private static void SimpleDataMatrix()
{
string outFileName = "simple.png";
DataMatrix dm = new DataMatrix("Sabry and Ely");
dm.Image.Save(outFileName, ImageFormat.Png);
Console.WriteLine("DataMatrix: {0} W:{1} H:{2} ", outFileName, dm.W, dm.H);
}
private static void ResizeDataMatrix()
{
string outFileName = "resize.png";
DataMatrix dm = new DataMatrix("Sabry and Ely");
DMImgUtility.SimpleResizeBmp(dm.Image, 10, 50).Save(outFileName, ImageFormat.Png);
Console.WriteLine("DataMatrix: {0} W:{1} H:{2} ", outFileName, dm.W, dm.H);
}
private static void BigDataMatrix()
{
string outFileName = "big.png";
DataMatrix dm = new DataMatrix(
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, " +
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua");
DMImgUtility.SimpleResizeBmp(dm.Image, 10, 50).Save(outFileName, ImageFormat.Png);
Console.WriteLine("DataMatrix: {0} W:{1} H:{2} ", outFileName, dm.W, dm.H);
}
private static void SpeedTest(int mode)
{
int matrixNum = 1000;
DateTime tstart = DateTime.Now;
for (int i = 0; i < matrixNum; i++)
{
DataMatrix dm = null;
switch (mode)
{
case 0: dm = new DataMatrix("This is a test - IEC16022Sharp"); break;
case 1: dm = new DataMatrix("This is a test - IEC16022Sharp", EncodingType.Ascii); break;
case 2: dm = new DataMatrix("This is a test - IEC16022Sharp", 22, 22, EncodingType.Ascii); break;
}
MemoryStream ms = new MemoryStream();
dm.Image.Save(ms, ImageFormat.Bmp);
}
double elapsedTime = DateTime.Now.Subtract(tstart).TotalSeconds;
Console.WriteLine("SpeedTest mode [{0}] : {1} matrix - {2} matrix/sec", mode, matrixNum, (matrixNum / elapsedTime).ToString(".00"));
}
private static void FastBmpOne()
{
DataMatrix dm = new DataMatrix("Sabry and Ely", 16, 16);
dm.FastBmp.Save("fastbmp.bmp");
Console.WriteLine("FastBmpOne: fastbmp.bmp");
}
private static void FastBmpTwo()
{
int matrixNum = 10000;
DateTime tstart = DateTime.Now;
for (int i = 0; i < matrixNum; i++)
{
DataMatrix dm = new DataMatrix("This is a test - IEC16022Sharp", 22, 22, EncodingType.Ascii);
MemoryStream ms = new MemoryStream();
dm.FastBmp.Save(ms);
}
double elapsedTime = DateTime.Now.Subtract(tstart).TotalSeconds;
Console.WriteLine("SpeedTest FastBmp: {0} matrix/sec", (matrixNum / elapsedTime).ToString(".00"));
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?