这里使用到一个插件【BarcodeLib.dll】
首先引用这个插件
using BarcodeLib;
using System.Drawing;【注意引用这个之后会和程序原本的一个引用其冲突,删除原本引用的就可以依靠】
【WinForm版本】
//触发事件
private void draw_Click(object sender, EventArgs e)
{
const int width = 250;
const int height = 100;
TYPE type;
//switch (cmbType.Text)
//{
// case "Code39":
// type = TYPE.CODE39; break;
// default:
// type = TYPE.CODE128; break;
//}
type = TYPE.CODE39;
//var code = txtCode.Text;
var code = "1234567890000";
Image image;
GetBarcode(width, height, type, code, out image);
pictureBar.Width = width;//pictureBar是pictureBox控件
pictureBar.Height = height;
pictureBar.Image = image;
}
#region 生成条形码
/// <summary>
/// 生成条形码
/// </summary>
static byte[] GetBarcode(int width, int height, TYPE type, string code, out Image image)
{
Barcode b = new Barcode
{
BackColor = Color.White, //图片背景颜色
ForeColor = Color.Black, //条码颜色
IncludeLabel = true,
Alignment = AlignmentPositions.CENTER,
LabelPosition = LabelPositions.BOTTOMCENTER,
ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg, //图片格式
LabelFont = new Font("verdana", 10f), //字体设置
Height = height, //图片高度
Width = width //图片宽度
};
image = b.Encode(type, code);//生成图片
byte[] buffer = b.GetImageData(SaveTypes.GIF);//转换byte格式
return buffer;
}
#endregion
Web版本【和Winform一样,由于没有pictureBox控件所以用<asp:Image ID="pictureBar" runat="server" />】
//触发事件
protected void Button1_Click1(object sender, EventArgs e)
{
const int width = 250;
const int height = 100;
TYPE type;
//switch (cmbType.Text)
//{
// case "Code39":
// type = TYPE.CODE39; break;
// default:
// type = TYPE.CODE128; break;
//}
type = TYPE.CODE39;
//var code = txtCode.Text;
var code = "123456789012";
Image image;
byte[] gg = GetBarcode(width, height, type, code, out image);
pictureBar.Width = width;
pictureBar.Height = height;
System.Drawing.Bitmap images = new System.Drawing.Bitmap(image);
string imgname = DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg";
string path = "UpPhoto/" + imgname;
image.Save(Server.MapPath(path));
this.pictureBar.ImageUrl = path;
}
#region 生成条形码
/// <summary>
/// 生成条形码
/// </summary>
static byte[] GetBarcode(int width, int height, TYPE type, string code, out Image image)
{
Barcode b = new Barcode
{
BackColor = Color.White, //图片背景颜色
ForeColor = Color.Black, //条码颜色
IncludeLabel = true,
Alignment = AlignmentPositions.CENTER,
LabelPosition = LabelPositions.BOTTOMCENTER,
ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg, //图片格式
LabelFont = new Font("verdana", 10f), //字体设置
Height = height, //图片高度
Width = width //图片宽度
};
image = b.Encode(type, code);//生成图片
byte[] buffer = b.GetImageData(SaveTypes.GIF);//转换byte格式
return buffer;
}
#endregion
最后附加【BarcodeLib.dll】下载地址链接: 下载地址 密码: ygc1