using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace BarCodeTest{ public partial class MainTest : Form { public MainTest() { InitializeComponent(); } CodeLib.Barcode b = new CodeLib.Barcode(); private void groupBox1_Enter(object sender, EventArgs e) { } private void MainTest_Load(object sender, EventArgs e) { Bitmap temp = new Bitmap(1, 1); temp.SetPixel(0, 0, this.BackColor); barcode.Image = (Image)temp; this.cbEncodeType.SelectedIndex = 0; this.cbBarcodeAlign.SelectedIndex = 0; this.cbLabelLocation.SelectedIndex = 0; this.cbRotateFlip.DataSource = System.Enum.GetNames(typeof(RotateFlipType)); int i = 0; foreach (object o in cbRotateFlip.Items) { if (o.ToString().Trim().ToLower() == "rotatenoneflipnone") break; i ; }//foreach this.cbRotateFlip.SelectedIndex = i; //Show library version this.btnBackColor.BackColor = this.b.BackColor; this.btnForeColor.BackColor = this.b.ForeColor; } private void btnEncode_Click(object sender, EventArgs e) { errorProvider1.Clear(); int W = Convert.ToInt32(this.txtWidth.Text.Trim()); int H = Convert.ToInt32(this.txtHeight.Text.Trim()); CodeLib.AlignmentPositions Align = CodeLib.AlignmentPositions.CENTER; //barcode alignment switch (cbBarcodeAlign.SelectedItem.ToString().Trim().ToLower()) { case "left": Align = CodeLib.AlignmentPositions.LEFT; break; case "right": Align = CodeLib.AlignmentPositions.RIGHT; break; default: Align = CodeLib.AlignmentPositions.CENTER; break; }//switch CodeLib.TYPE type = CodeLib.TYPE.UNSPECIFIED; switch (cbEncodeType.SelectedItem.ToString().Trim()) { case "UPC-A": type = CodeLib.TYPE.UPCA; break; case "UPC-E": type = CodeLib.TYPE.UPCE; break; case "UPC 2 Digit Ext.": type = CodeLib.TYPE.UPC_SUPPLEMENTAL_2DIGIT; break; case "UPC 5 Digit Ext.": type = CodeLib.TYPE.UPC_SUPPLEMENTAL_5DIGIT; break; case "EAN-13": type = CodeLib.TYPE.EAN13; break; case "JAN-13": type = CodeLib.TYPE.JAN13; break; case "EAN-8": type = CodeLib.TYPE.EAN8; break; case "ITF-14": type = CodeLib.TYPE.ITF14; break; case "Codabar": type = CodeLib.TYPE.Codabar; break; case "PostNet": type = CodeLib.TYPE.PostNet; break; case "Bookland/ISBN": type = CodeLib.TYPE.BOOKLAND; break; case "Code 11": type = CodeLib.TYPE.CODE11; break; case "Code 39": type = CodeLib.TYPE.CODE39; break; case "Code 39 Extended": type = CodeLib.TYPE.CODE39Extended; break; case "Code 93": type = CodeLib.TYPE.CODE93; break; case "LOGMARS": type = CodeLib.TYPE.LOGMARS; break; case "MSI": type = CodeLib.TYPE.MSI_Mod10; break; case "Interleaved 2 of 5": type = CodeLib.TYPE.Interleaved2of5; break; case "Standard 2 of 5": type = CodeLib.TYPE.Standard2of5; break; case "Code 128": type = CodeLib.TYPE.CODE128; break; case "Code 128-A": type = CodeLib.TYPE.CODE128A; break; case "Code 128-B": type = CodeLib.TYPE.CODE128B; break; case "Code 128-C": type = CodeLib.TYPE.CODE128C; break; case "Telepen": type = CodeLib.TYPE.TELEPEN; break; default: MessageBox.Show("Please specify the encoding type."); break; }//switch try { if (type != CodeLib.TYPE.UNSPECIFIED) { b.IncludeLabel = this.chkGenerateLabel.Checked; b.Alignment = Align; b.RotateFlipType = (RotateFlipType)Enum.Parse(typeof(RotateFlipType), this.cbRotateFlip.SelectedItem.ToString(), true); //label alignment and position switch (this.cbLabelLocation.SelectedItem.ToString().Trim().ToUpper()) { case "BOTTOMLEFT": b.LabelPosition = CodeLib.LabelPositions.BOTTOMLEFT; break; case "BOTTOMRIGHT": b.LabelPosition = CodeLib.LabelPositions.BOTTOMRIGHT; break; case "TOPCENTER": b.LabelPosition = CodeLib.LabelPositions.TOPCENTER; break; case "TOPLEFT": b.LabelPosition = CodeLib.LabelPositions.TOPLEFT; break; case "TOPRIGHT": b.LabelPosition = CodeLib.LabelPositions.TOPRIGHT; break; default: b.LabelPosition = CodeLib.LabelPositions.BOTTOMCENTER; break; }//switch //===== Encoding performed here ===== barcode.Image = b.Encode(type, this.txtData.Text.Trim(), this.btnForeColor.BackColor, this.btnBackColor.BackColor, W, H); //=================================== //show the encoding time this.lblEncodingTime.Text = "(" Math.Round(b.EncodingTime, 0, MidpointRounding.AwayFromZero).ToString() "ms)"; txtEncoded.Text = b.EncodedValue; //tsslEncodedType.Text = "Encoding Type: " b.EncodedType.ToString(); }//if barcode.Width = barcode.Image.Width; barcode.Height = barcode.Image.Height; //reposition the barcode image to the middle barcode.Location = new Point((this.groupBox2.Location.X this.groupBox2.Width / 2) - barcode.Width / 2, (this.groupBox2.Location.Y this.groupBox2.Height / 2) - barcode.Height / 2); }//try catch (Exception ex) { MessageBox.Show(ex.Message); }//catch } private void btnSave_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "BMP (*.bmp)|*.bmp|GIF (*.gif)|*.gif|JPG (*.jpg)|*.jpg|PNG (*.png)|*.png|TIFF (*.tif)|*.tif"; sfd.FilterIndex = 2; sfd.AddExtension = true; if (sfd.ShowDialog() == DialogResult.OK) { CodeLib.SaveTypes savetype = CodeLib.SaveTypes.UNSPECIFIED; switch (sfd.FilterIndex) { case 1: /* BMP */ savetype = CodeLib.SaveTypes.BMP; break; case 2: /* GIF */ savetype = CodeLib.SaveTypes.GIF; break; case 3: /* JPG */ savetype = CodeLib.SaveTypes.JPG; break; case 4: /* PNG */ savetype = CodeLib.SaveTypes.PNG; break; case 5: /* TIFF */ savetype = CodeLib.SaveTypes.TIFF; break; default: break; }//switch b.SaveImage(sfd.FileName, savetype); } } private void btnForeColor_Click(object sender, EventArgs e) { using (ColorDialog cdialog = new ColorDialog()) { cdialog.AnyColor = true; if (cdialog.ShowDialog() == DialogResult.OK) { this.b.ForeColor = cdialog.Color; this.btnForeColor.BackColor = this.b.ForeColor; }//if }//using } private void btnBackColor_Click(object sender, EventArgs e) { using (ColorDialog cdialog = new ColorDialog()) { cdialog.AnyColor = true; if (cdialog.ShowDialog() == DialogResult.OK) { this.b.BackColor = cdialog.Color; this.btnBackColor.BackColor = this.b.BackColor; }//if }//using } private void btnSaveXML_Click(object sender, EventArgs e) { btnEncode_Click(sender, e); using (SaveFileDialog sfd = new SaveFileDialog()) { sfd.Filter = "XML Files|*.xml"; if (sfd.ShowDialog() == DialogResult.OK) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter(sfd.FileName)) { sw.Write(b.XML); }//using }//if }//using } private void btnLoadXML_Click(object sender, EventArgs e) { using (OpenFileDialog ofd = new OpenFileDialog()) { ofd.Multiselect = false; if (ofd.ShowDialog() == DialogResult.OK) { using (CodeLib.BarcodeXML XML = new CodeLib.BarcodeXML()) { XML.ReadXml(ofd.FileName); //load image from xml this.barcode.Width = XML.Barcode[0].ImageWidth; this.barcode.Height = XML.Barcode[0].ImageHeight; this.barcode.Image = CodeLib.Barcode.GetImageFromXML(XML); //populate the screen this.txtData.Text = XML.Barcode[0].RawData; this.chkGenerateLabel.Checked = XML.Barcode[0].IncludeLabel; switch (XML.Barcode[0].Type) { case "UCC12": case "UPCA": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("UPC-A"); break; case "UCC13": case "EAN13": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("EAN-13"); break; case "Interleaved2of5": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Interleaved 2 of 5"); break; case "Industrial2of5": case "Standard2of5": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Standard 2 of 5"); break; case "LOGMARS": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("LOGMARS"); break; case "CODE39": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Code 39"); break; case "CODE39Extended": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Code 39 Extended"); break; case "Codabar": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Codabar"); break; case "PostNet": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("PostNet"); break; case "ISBN": case "BOOKLAND": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Bookland/ISBN"); break; case "JAN13": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("JAN-13"); break; case "UPC_SUPPLEMENTAL_2DIGIT": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("UPC 2 Digit Ext."); break; case "MSI_Mod10": case "MSI_2Mod10": case "MSI_Mod11": case "MSI_Mod11_Mod10": case "Modified_Plessey": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("MSI"); break; case "UPC_SUPPLEMENTAL_5DIGIT": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("UPC 5 Digit Ext."); break; case "UPCE": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("UPC-E"); break; case "EAN8": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("EAN-8"); break; case "USD8": case "CODE11": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Code 11"); break; case "CODE128": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Code 128"); break; case "CODE128A": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Code 128-A"); break; case "CODE128B": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Code 128-B"); break; case "CODE128C": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Code 128-C"); break; case "ITF14": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("ITF-14"); break; case "CODE93": this.cbEncodeType.SelectedIndex = this.cbEncodeType.FindString("Code 93"); break; default: throw new Exception("ELOADXML-1: Unsupported encoding type in XML."); }//switch this.txtEncoded.Text = XML.Barcode[0].EncodedValue; this.btnForeColor.BackColor = ColorTranslator.FromHtml(XML.Barcode[0].Forecolor); this.btnBackColor.BackColor = ColorTranslator.FromHtml(XML.Barcode[0].Backcolor); ; this.txtWidth.Text = XML.Barcode[0].ImageWidth.ToString(); this.txtHeight.Text = XML.Barcode[0].ImageHeight.ToString(); //populate the local object btnEncode_Click(sender, e); //reposition the barcode image to the middle barcode.Location = new Point((this.groupBox2.Location.X this.groupBox2.Width / 2) - barcode.Width / 2, (this.groupBox2.Location.Y this.groupBox2.Height / 2) - barcode.Height / 2); }//using }//if }//using } }}
下载条形码生成源码用户还喜欢
- 18480 文章数
- 500万+ 热度
作者专栏
编辑推荐
- 淡抹u2引擎,修复内容较多,物有所值
- 界域传说·经典巨作=传世单机(一键安装)
- 丸子版本(175个传世版本大集合)
- GS版本:神话公益服务端+客户端
- 图片放大工具(放大图片不模糊)
- 剪映无限制VIP版
- 传奇世界客户端下载器,史上最全传世客户端
- 传世GS20220920商业引擎注册+登录配置器 解压密码是1
- U2官方排行榜游戏网关 支持元神,支持传家宝
- GS开战传世客户端+服务端
- (淡漠夕阳)u2引擎合区工具
- 传世GS引擎消除“你的游戏客户端版本号过旧,请及时更新”提示
- 传世一机多区双线路配置器--免密码版本
- 传世凤凰登陆器劫持修复软件
- SQLite3 for Navicat
- 传奇世界npc对话框编辑工具
- 传世GS落霞铭文服务器端
- gs_20210409引擎包+注册机(无限制)
- 传奇世界NPC对话封包查看器[支持时长版和极速版]
- 彩虹引擎传世脚本编辑工具1.7版来了,支持函数脚本翻译
评论