Commit 9b0cfda5 LN

1

1 个父辈 437486c7
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
this.label4 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label();
this.btnLight = new System.Windows.Forms.Button(); this.btnLight = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button(); this.button1 = new System.Windows.Forms.Button();
this.chbZxing = new System.Windows.Forms.CheckBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout(); this.SuspendLayout();
// //
...@@ -101,7 +102,7 @@ ...@@ -101,7 +102,7 @@
// btnErZhi // btnErZhi
// //
this.btnErZhi.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnErZhi.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnErZhi.Location = new System.Drawing.Point(557, 12); this.btnErZhi.Location = new System.Drawing.Point(768, 478);
this.btnErZhi.Name = "btnErZhi"; this.btnErZhi.Name = "btnErZhi";
this.btnErZhi.Size = new System.Drawing.Size(59, 33); this.btnErZhi.Size = new System.Drawing.Size(59, 33);
this.btnErZhi.TabIndex = 5; this.btnErZhi.TabIndex = 5;
...@@ -113,7 +114,7 @@ ...@@ -113,7 +114,7 @@
// btnGray // btnGray
// //
this.btnGray.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnGray.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnGray.Location = new System.Drawing.Point(557, 50); this.btnGray.Location = new System.Drawing.Point(768, 439);
this.btnGray.Name = "btnGray"; this.btnGray.Name = "btnGray";
this.btnGray.Size = new System.Drawing.Size(59, 33); this.btnGray.Size = new System.Drawing.Size(59, 33);
this.btnGray.TabIndex = 6; this.btnGray.TabIndex = 6;
...@@ -173,7 +174,7 @@ ...@@ -173,7 +174,7 @@
// btnClearLog // btnClearLog
// //
this.btnClearLog.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnClearLog.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnClearLog.Location = new System.Drawing.Point(711, 50); this.btnClearLog.Location = new System.Drawing.Point(691, 50);
this.btnClearLog.Name = "btnClearLog"; this.btnClearLog.Name = "btnClearLog";
this.btnClearLog.Size = new System.Drawing.Size(116, 33); this.btnClearLog.Size = new System.Drawing.Size(116, 33);
this.btnClearLog.TabIndex = 12; this.btnClearLog.TabIndex = 12;
...@@ -301,7 +302,7 @@ ...@@ -301,7 +302,7 @@
// btnAn // btnAn
// //
this.btnAn.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnAn.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAn.Location = new System.Drawing.Point(645, 50); this.btnAn.Location = new System.Drawing.Point(768, 555);
this.btnAn.Name = "btnAn"; this.btnAn.Name = "btnAn";
this.btnAn.Size = new System.Drawing.Size(59, 33); this.btnAn.Size = new System.Drawing.Size(59, 33);
this.btnAn.TabIndex = 25; this.btnAn.TabIndex = 25;
...@@ -316,7 +317,7 @@ ...@@ -316,7 +317,7 @@
this.chbUseParam.Checked = true; this.chbUseParam.Checked = true;
this.chbUseParam.CheckState = System.Windows.Forms.CheckState.Checked; this.chbUseParam.CheckState = System.Windows.Forms.CheckState.Checked;
this.chbUseParam.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.chbUseParam.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbUseParam.Location = new System.Drawing.Point(711, 18); this.chbUseParam.Location = new System.Drawing.Point(691, 18);
this.chbUseParam.Name = "chbUseParam"; this.chbUseParam.Name = "chbUseParam";
this.chbUseParam.Size = new System.Drawing.Size(75, 21); this.chbUseParam.Size = new System.Drawing.Size(75, 21);
this.chbUseParam.TabIndex = 26; this.chbUseParam.TabIndex = 26;
...@@ -346,7 +347,7 @@ ...@@ -346,7 +347,7 @@
// btnLight // btnLight
// //
this.btnLight.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnLight.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnLight.Location = new System.Drawing.Point(645, 12); this.btnLight.Location = new System.Drawing.Point(768, 517);
this.btnLight.Name = "btnLight"; this.btnLight.Name = "btnLight";
this.btnLight.Size = new System.Drawing.Size(59, 33); this.btnLight.Size = new System.Drawing.Size(59, 33);
this.btnLight.TabIndex = 24; this.btnLight.TabIndex = 24;
...@@ -358,7 +359,7 @@ ...@@ -358,7 +359,7 @@
// button1 // button1
// //
this.button1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.button1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.button1.Location = new System.Drawing.Point(723, 12); this.button1.Location = new System.Drawing.Point(833, 555);
this.button1.Name = "button1"; this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(167, 33); this.button1.Size = new System.Drawing.Size(167, 33);
this.button1.TabIndex = 29; this.button1.TabIndex = 29;
...@@ -367,11 +368,23 @@ ...@@ -367,11 +368,23 @@
this.button1.Visible = false; this.button1.Visible = false;
this.button1.Click += new System.EventHandler(this.button1_Click); this.button1.Click += new System.EventHandler(this.button1_Click);
// //
// chbZxing
//
this.chbZxing.AutoSize = true;
this.chbZxing.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbZxing.Location = new System.Drawing.Point(781, 18);
this.chbZxing.Name = "chbZxing";
this.chbZxing.Size = new System.Drawing.Size(60, 21);
this.chbZxing.TabIndex = 30;
this.chbZxing.Text = "ZXing";
this.chbZxing.UseVisualStyleBackColor = true;
//
// FrmCodeDecode // FrmCodeDecode
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1192, 729); this.ClientSize = new System.Drawing.Size(1192, 729);
this.Controls.Add(this.chbZxing);
this.Controls.Add(this.button1); this.Controls.Add(this.button1);
this.Controls.Add(this.txtParamPath); this.Controls.Add(this.txtParamPath);
this.Controls.Add(this.label4); this.Controls.Add(this.label4);
...@@ -438,6 +451,7 @@ ...@@ -438,6 +451,7 @@
private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label4;
private System.Windows.Forms.Button btnLight; private System.Windows.Forms.Button btnLight;
private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button1;
private System.Windows.Forms.CheckBox chbZxing;
} }
} }
...@@ -80,7 +80,8 @@ namespace CodeLibrary ...@@ -80,7 +80,8 @@ namespace CodeLibrary
{ {
System.Windows.Forms.OpenFileDialog openDialog = new System.Windows.Forms.OpenFileDialog(); System.Windows.Forms.OpenFileDialog openDialog = new System.Windows.Forms.OpenFileDialog();
openDialog.Title = selImage; openDialog.Title = selImage;
openDialog.Filter = "(*.jpg)|*.jpg|(*.png)|*.png|(*.bmp)|*.bmp"; openDialog.Filter = "(*.jpg;*.png;*.bmp)|*.jpg;*.png;*.bmp";
// openDialog.Filter = "All Supported Images (*.bmp;*.dib;*.rle;*.gif;*.jpg;*.png)|*.bmp;*.dib;*.rle;*.gif;*.jpg;*.png|Bitmaps (*.bmp;*.dib;*.rle)|*.bmp;*.dib;*.rle|Graphics Interchange Format (*.gif)|*.gif|Joint Photographic Experts (*.jpg)|*.jpg|Portable Network Graphics (*.png)|*.png|All Files (*.*)|*.*";
//openDialog.DefaultExt = "png"; //openDialog.DefaultExt = "png";
System.Windows.Forms.DialogResult result = openDialog.ShowDialog(); System.Windows.Forms.DialogResult result = openDialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.Cancel) if (result == System.Windows.Forms.DialogResult.Cancel)
...@@ -151,9 +152,16 @@ namespace CodeLibrary ...@@ -151,9 +152,16 @@ namespace CodeLibrary
stopwatch.Restart(); stopwatch.Restart();
HDCodeHelper.HalconWindow = this.hWindowControl1.HalconWindow; HDCodeHelper.HalconWindow = this.hWindowControl1.HalconWindow;
Bitmap map = new Bitmap(pictureBox1.Image); Bitmap map = new Bitmap(pictureBox1.Image);
List<CodeInfo> result = HDCodeHelper.DecodeBarCode(map); if (chbZxing.Checked)
ShowCode(result); {
txtResult.Text += "\r\n elapsed time:" + stopwatch.Elapsed.ToString(); zxingDecode(map, "barcode");
}
else
{
List<CodeInfo> result = HDCodeHelper.DecodeBarCode(map);
ShowCode(result);
txtResult.Text += "\r\n elapsed time:" + stopwatch.Elapsed.ToString();
}
} }
public void ShowImage(HObject ho_Image) public void ShowImage(HObject ho_Image)
{ {
...@@ -196,32 +204,45 @@ namespace CodeLibrary ...@@ -196,32 +204,45 @@ namespace CodeLibrary
{ {
codeParamPath = ""; codeParamPath = "";
} }
List<CodeInfo> codeList = new List<CodeInfo>(); if (chbZxing.Checked)
if (cmbCodeType.Text.ToLower().Equals("barcode")) {
{ zxingDecode(map, cmbCodeType.Text);
codeList = HDCodeHelper.DecodeBarCode(ho_image);
} }
else else
{ {
codeList = HDCodeHelper.DecodeCode(ho_image, count, codeParamPath, cmbCodeType.Text); List<CodeInfo> codeList = new List<CodeInfo>();
} if (cmbCodeType.Text.ToLower().Equals("barcode"))
{
codeList = HDCodeHelper.DecodeBarCode(ho_image);
}
else
{
codeList = HDCodeHelper.DecodeCode(ho_image, count, codeParamPath, cmbCodeType.Text);
}
if (codeList.Count <= 0) if (codeList.Count <= 0)
{
string result = ZXingCodeHelper.DecodeQRCode(map);
if (!String.IsNullOrEmpty(result))
{ {
txtResult.Text = " zxing decode:\r\n" + result; zxingDecode(map, cmbCodeType.Text);
}
else
{
ShowCode(codeList);
txtResult.Text += "\r\n elapsed time:" + stopwatch.Elapsed.ToString(); txtResult.Text += "\r\n elapsed time:" + stopwatch.Elapsed.ToString();
} }
} }
else }
private void zxingDecode(Bitmap map,string type )
{
List<string> results = ZXingCodeHelper.DeCodes(map, type);
txtResult.Text = " zxing decode:";
foreach (string code in results)
{ {
ShowCode(codeList); txtResult.Text += "\r\n" + "\r\n" + code;
txtResult.Text += "\r\n elapsed time:" + stopwatch.Elapsed.ToString();
} }
} txtResult.Text += "\r\n \r\n elapsed time:" + stopwatch.Elapsed.ToString();
}
private void btnClearLog_Click(object sender, EventArgs e) private void btnClearLog_Click(object sender, EventArgs e)
{ {
HDLogUtil.ClearLog(); HDLogUtil.ClearLog();
......
...@@ -227,7 +227,7 @@ namespace CodeLibrary ...@@ -227,7 +227,7 @@ namespace CodeLibrary
{ {
System.Windows.Forms.OpenFileDialog openDialog = new System.Windows.Forms.OpenFileDialog(); System.Windows.Forms.OpenFileDialog openDialog = new System.Windows.Forms.OpenFileDialog();
openDialog.Title = selImage; openDialog.Title = selImage;
openDialog.Filter = "(*.jpg)|*.jpg|(*.png)|*.png|(*.bmp)|*.bmp"; openDialog.Filter = "(*.jpg;*.png;*.bmp)|*.jpg;*.png;*.bmp";
//openDialog.DefaultExt = "png"; //openDialog.DefaultExt = "png";
System.Windows.Forms.DialogResult result = openDialog.ShowDialog(); System.Windows.Forms.DialogResult result = openDialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.Cancel) if (result == System.Windows.Forms.DialogResult.Cancel)
......
...@@ -6,37 +6,161 @@ using System.Text; ...@@ -6,37 +6,161 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using ZXing; using ZXing;
using ZXing.Common; using ZXing.Common;
using ZXing.Multi.QrCode;
namespace CodeLibrary namespace CodeLibrary
{ {
public class ZXingCodeHelper public class ZXingCodeHelper
{ {
public static string DecodeQRCode(Bitmap bmp) public static List<string> DeCodes(Bitmap map, string codeType)
{ {
string text = ""; if (codeType.ToUpper().Equals("QR CODE"))
DecodingOptions option = new DecodingOptions(); {
return DecodeQRCodes(map);
}
else if (codeType.ToUpper().Equals("DATA MATRIX ECC 200"))
{
return DecodeCodes(map);
}
else if (codeType.ToUpper().Equals("BARCODE"))
{
return DecodeCodes(map);
}
else
{
return DecodeCodes(map);
}
//option.PossibleFormats = new List<BarcodeFormat>() { BarcodeFormat.QR_CODE, BarcodeFormat.All_1D }; }
option.PossibleFormats = new List<BarcodeFormat>() { BarcodeFormat.QR_CODE }; public static List<string> DecodeCodes(Bitmap bmp)
BarcodeReader br = new BarcodeReader(); {
MultiFormatReader mreader = new MultiFormatReader();
ZXing.Multi.GenericMultipleBarcodeReader genericMultiple = new ZXing.Multi.GenericMultipleBarcodeReader(mreader);
LuminanceSource source = new BitmapLuminanceSource(bmp);
BinaryBitmap binarybitmap = new BinaryBitmap(new HybridBinarizer(source));
Result[] rr = genericMultiple.decodeMultiple(binarybitmap);
List<string> result = new List<string>();
if (rr != null)
{
foreach (Result res in rr)
{
if (res != null)
{
string text = res.ToString();
br.Options = option; if (!IsGBCode(text))
Result rs = br.Decode(bmp); {
text = ConvertISO88591ToEncoding(text, Encoding.Default);
}
result.Add(text);
}
}
}
return result;
}
public static List<string> DecodeBarCodes(Bitmap bmp)
{
if (rs == null) List<string> result = new List<string>();
BarcodeReader br = new BarcodeReader();
DecodingOptions decodeOption = new DecodingOptions();
decodeOption.PossibleFormats = new List<BarcodeFormat>() { BarcodeFormat.CODE_39, BarcodeFormat.CODE_128 };
br.Options = decodeOption;
Result res = br.Decode(bmp);
if (res != null)
{ {
text = ""; result.Add(res.ToString());
} }
else return result;
}
public static List<string> DecodeDMCodes(Bitmap bmp)
{
ZXing.Datamatrix.DataMatrixReader qc = new ZXing.Datamatrix.DataMatrixReader();
List<string> result = new List<string>();
LuminanceSource source = new BitmapLuminanceSource(bmp);
BinaryBitmap binarybitmap = new BinaryBitmap(new HybridBinarizer(source));
IDictionary<DecodeHintType, object> hints = new Dictionary<DecodeHintType, object>();
hints.Add(DecodeHintType.CHARACTER_SET, "UTF-8");
hints.Add(DecodeHintType.TRY_HARDER, "3");
Result res = qc.decode(binarybitmap, hints);
if (res != null)
{ {
text = rs.ToString(); result.Add(res.ToString());
if (!IsGBCode(text)) }
return result;
}
public static List<string> DecodeQRCodes(Bitmap bmp)
{
QRCodeMultiReader qc = new QRCodeMultiReader();
List<string> result = new List<string>();
LuminanceSource source = new BitmapLuminanceSource(bmp);
BinaryBitmap binarybitmap = new BinaryBitmap(new HybridBinarizer(source));
IDictionary<DecodeHintType, object> hints = new Dictionary<DecodeHintType, object>();
hints.Add(DecodeHintType.CHARACTER_SET, "GB2312");
hints.Add(DecodeHintType.TRY_HARDER, "3");
Result[] r = qc.decodeMultiple(binarybitmap, hints);
if (r != null)
{
foreach (Result res in r)
{ {
text = ConvertISO88591ToEncoding(text, Encoding.Default); if (res != null)
{
string text = res.ToString();
//if (!IsGBCode(text))
//{
// string chStr = "生产日期(或厂家批次):";
// int index = text.IndexOf(chStr);
// if (index > 0)
// {
// string sub1 = text.Substring(0, index);
// int sub3startIndex =index+ chStr.Length;
// string sub3 = text.Substring(sub3startIndex,text.Length- sub3startIndex);
// string sub1r = ConvertISO88591ToEncoding(sub1, Encoding.Default);
// string sub3r = ConvertISO88591ToEncoding(sub3, Encoding.Default);
// text = sub1r + chStr + sub3r;
// }
// else
// {
// text = ConvertISO88591ToEncoding(text, Encoding.Default);
// }
//}
result.Add(text);
}
} }
} }
return text; return result;
} }
//public static string DecodeQRCode(Bitmap bmp)
//{
// string text = "";
// DecodingOptions option = new DecodingOptions();
// //option.PossibleFormats = new List<BarcodeFormat>() { BarcodeFormat.QR_CODE, BarcodeFormat.All_1D };
// option.PossibleFormats = new List<BarcodeFormat>() { BarcodeFormat.QR_CODE };
// BarcodeReader br = new BarcodeReader();
// br.Options = option;
// Result rs = br.Decode(bmp);
// if (rs == null)
// {
// text = "";
// }
// else
// {
// text = rs.ToString();
// if (!IsGBCode(text))
// {
// text = ConvertISO88591ToEncoding(text, Encoding.Default);
// }
// }
// return text;
//}
//转换 //转换
private static string ConvertISO88591ToEncoding(string srcString, Encoding dstEncode) private static string ConvertISO88591ToEncoding(string srcString, Encoding dstEncode)
{ {
......
...@@ -26,7 +26,8 @@ namespace CodeTest ...@@ -26,7 +26,8 @@ namespace CodeTest
for (int i = 100000; i <= 100000 + count; i++) for (int i = 100000; i <= 100000 + count; i++)
{ {
string name = "pn;A" + i.ToString().PadLeft(6, '0') + ";1000"; string name = "pn;A" + i.ToString().PadLeft(6, '0') + ";1000";
Bitmap map = ZXingCode(name, 200, BarcodeFormat.QR_CODE); Bitmap map = ZXingCode(name, 400, BarcodeFormat.CODE_128);
// Bitmap map = DataMatrix(name, 200);
if (map != null) if (map != null)
{ {
map.Save(targetFilePath + name + ".bmp"); map.Save(targetFilePath + name + ".bmp");
...@@ -49,6 +50,10 @@ namespace CodeTest ...@@ -49,6 +50,10 @@ namespace CodeTest
//设置二维码的宽度和高度 //设置二维码的宽度和高度
options.Width = codeSizeInPixels; options.Width = codeSizeInPixels;
options.Height = codeSizeInPixels; options.Height = codeSizeInPixels;
if (type.Equals(BarcodeFormat.CODE_128))
{
options.Height = 100;
}
//设置二维码的边距,单位不是固定像素 //设置二维码的边距,单位不是固定像素
options.Margin = 1; options.Margin = 1;
writer.Options = options; writer.Options = options;
...@@ -94,7 +99,7 @@ namespace CodeTest ...@@ -94,7 +99,7 @@ namespace CodeTest
br.Options = option; br.Options = option;
Result rs = br.Decode(bmp); Result rs = br.Decode(bmp);
if (rs == null) if (rs == null)
{ {
text = ""; text = "";
...@@ -141,27 +146,24 @@ namespace CodeTest ...@@ -141,27 +146,24 @@ namespace CodeTest
dstEncode.GetChars(dstBytes, 0, dstBytes.Length, dstChars, 0);//利用char数组存储字符 dstEncode.GetChars(dstBytes, 0, dstBytes.Length, dstChars, 0);//利用char数组存储字符
sResult = new string(dstChars); sResult = new string(dstChars);
return sResult; return sResult;
} }
/// <summary>
/// DataMatrix矩阵二维码
//} /// </summary>
///// <summary> /// <param name="text"></param>
///// DataMatrix矩阵二维码 /// <param name="size"></param>
///// </summary> /// <returns></returns>
///// <param name="text"></param> public static Bitmap DataMatrix(string text, int size)
///// <param name="size"></param> {
///// <returns></returns> if (size < 10) size = 10;
//public static Bitmap DataMatrix(string text, int size) DataMatrix.net.DmtxImageEncoderOptions opt = new DataMatrix.net.DmtxImageEncoderOptions();
//{ opt.ModuleSize = size;
// if (size < 10) size = 10; opt.MarginSize = 5;
// DataMatrix.net.DmtxImageEncoderOptions opt = new DataMatrix.net.DmtxImageEncoderOptions(); DataMatrix.net.DmtxImageEncoder encoder = new DataMatrix.net.DmtxImageEncoder();
// opt.ModuleSize = size; Bitmap bm = encoder.EncodeImage(text, opt);
// opt.MarginSize = 5; return bm;
// DataMatrix.net.DmtxImageEncoder encoder = new DataMatrix.net.DmtxImageEncoder(); }
// Bitmap bm = encoder.EncodeImage(text, opt);
// return bm;
//}
} }
} }
...@@ -18,13 +18,16 @@ namespace CodeTest ...@@ -18,13 +18,16 @@ namespace CodeTest
[STAThread] [STAThread]
static void Main() static void Main()
{ {
// CodeCreater.CreateCode(10); // CodeCreater.CreateCode(10);
// return;
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
HDCodeLearnHelper.LoadConfig(ConfigAppSettings.GetValue(Setting_Init.CameraName), ConfigAppSettings.GetValue(Setting_Init.CodeType)); HDCodeLearnHelper.LoadConfig(ConfigAppSettings.GetValue(Setting_Init.CameraName), ConfigAppSettings.GetValue(Setting_Init.CodeType));
Application.Run(new FrmCodeDecode()); Application.Run(new FrmCodeDecode());
//Application.Run(new FrmTest());
//Application.Run(new FrmTest());
//string filename = @"C:/Users/WORK/Desktop/西安二维码/IMG_20190730_165612.jpg"; //string filename = @"C:/Users/WORK/Desktop/西安二维码/IMG_20190730_165612.jpg";
//Bitmap img = (Bitmap)Image.FromFile(filename).Clone(); //Bitmap img = (Bitmap)Image.FromFile(filename).Clone();
//string text= CodeCreater.DecodeQRCode(img); //string text= CodeCreater.DecodeQRCode(img);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!