希创条码希创条码> 技术支持> 条码知识> 条形码> 更多条形码知识

VB生成条形码的几个方法

方法一:
public string bar_code(object str, int ch, int cw, int type_code)
{
//str:输入的字符串;ch:要显示条形码的高度;cw:要显示条形码的宽度;type_code:代码类型
string strTmp = str.ToString();
string code = strTmp;
// ToLower()将string转化成小写形式的副本,返回是使用指定区域的性的大小写规则。
strTmp = strTmp.ToLower();
int height = ch;
int width = cw;

//将传入的参数进行转化。
strTmp = strTmp.Replace("0", "_|_|__||_||_|"); ;
strTmp = strTmp.Replace("1", "_||_|__|_|_||");
strTmp = strTmp.Replace("2", "_|_||__|_|_||");
strTmp = strTmp.Replace("3", "_||_||__|_|_|");
strTmp = strTmp.Replace("4", "_|_|__||_|_||");
strTmp = strTmp.Replace("5", "_||_|__||_|_|");
strTmp = strTmp.Replace("7", "_|_|__|_||_||");
strTmp = strTmp.Replace("6", "_|_||__||_|_|");
strTmp = strTmp.Replace("8", "_||_|__|_||_|");
strTmp = strTmp.Replace("9", "_|_||__|_||_|");
strTmp = strTmp.Replace("a", "_||_|_|__|_||");
strTmp = strTmp.Replace("b", "_|_||_|__|_||");
strTmp = strTmp.Replace("c", "_||_||_|__|_|");
strTmp = strTmp.Replace("d", "_|_|_||__|_||");
strTmp = strTmp.Replace("e", "_||_|_||__|_|");
strTmp = strTmp.Replace("f", "_|_||_||__|_|");
strTmp = strTmp.Replace("g", "_|_|_|__||_||");
strTmp = strTmp.Replace("h", "_||_|_|__||_|");
strTmp = strTmp.Replace("i", "_|_||_|__||_|");
strTmp = strTmp.Replace("j", "_|_|_||__||_|");
strTmp = strTmp.Replace("k", "_||_|_|_|__||");
strTmp = strTmp.Replace("l", "_|_||_|_|__||");
strTmp = strTmp.Replace("m", "_||_||_|_|__|");
strTmp = strTmp.Replace("n", "_|_|_||_|__||");
strTmp = strTmp.Replace("o", "_||_|_||_|__|");
strTmp = strTmp.Replace("p", "_|_||_||_|__|");
strTmp = strTmp.Replace("r", "_||_|_|_||__|");
strTmp = strTmp.Replace("q", "_|_|_|_||__||");
strTmp = strTmp.Replace("s", "_|_||_|_||__|");
strTmp = strTmp.Replace("t", "_|_|_||_||__|");
strTmp = strTmp.Replace("u", "_||__|_|_|_||");
strTmp = strTmp.Replace("v", "_|__||_|_|_||");
strTmp = strTmp.Replace("w", "_||__||_|_|_|");
strTmp = strTmp.Replace("x", "_|__|_||_|_||");
strTmp = strTmp.Replace("y", "_||__|_||_|_|");
strTmp = strTmp.Replace("z", "_|__||_||_|_|");
strTmp = strTmp.Replace("-", "_|__|_|_||_||");
strTmp = strTmp.Replace("*", "_|__|_||_||_|");
strTmp = strTmp.Replace("/", "_|__|__|_|__|");
strTmp = strTmp.Replace("%", "_|_|__|__|__|");
strTmp = strTmp.Replace("+", "_|__|_|__|__|");
strTmp = strTmp.Replace(".", "_||__|_|_||_|");
strTmp = strTmp.Replace("_", "<span style='height:" + height + ";width:" + width + ";background:#FFFFFF;'></span>");
strTmp = strTmp.Replace("|", "<span style='height:" + height + ";width:" + width + ";background:#000000;'></span>");

if (type_code == 1)
{
return strTmp + "<BR>" + code;

}
else
{
return strTmp;
}
}
随机数:
private int GetRandomNum(int i, int length, int up, int down)
{
int iFirst = 0;
Random ro = new Random(i * length * unchecked((int)DateTime.Now.Ticks));
iFirst = ro.Next(up, down);
return iFirst;
}

方法二:
using System.Drawing;

public void CreateCodeLogo(string code)
{

long len = code.Length;
string lastString = "";
char[] list = new char[len + 1];


list = code.ToCharArray();

for (int i = 0; i < list.Length; i++)
{
lastString += this.ConvertToBinaryString(list[i].ToString());
}

char[] numList = new char[lastString.Length + 1];
numList = lastString.ToCharArray();


Bitmap image = new Bitmap(200, 140);
Graphics g = Graphics.FromImage(image);

g.Clear(Color.White);

Pen penBlack = new Pen(Color.FromArgb(255, 0, 0, 0), 2.5F);
Pen penWhite = new Pen(Color.White, 2.5F);

int j = 0;

for (float k = 10; j < numList.Length; k += 2F, j++)
{
if (numList[j].ToString() == "1")
{
g.DrawLine(penBlack, k, 10, k, 110);

}
else
{
g.DrawLine(penWhite, k, 10, k, 110);
}

if (j % 4 == 0)
{
g.DrawString(list[j / 4].ToString(), new System.Drawing.Font("Courier New", 12), new SolidBrush(Color.Red), k, 112);
}
}
image.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
}


//将字符串数值转换为二进制字符串数值
public string ConvertToBinaryString(string buf)
{
int[] temp = new int[20];
string binary;
int val = 0, i = 0, j;

//先将字符转化为十进制数
try
{
val = Convert.ToInt32(buf);
}
catch
{
val = 0;
}

if (val == 0)
{
return ("0000");
}

i = 0;
while (val != 0)
{
temp[i++] = val % 2;
val /= 2;
}

binary = "";

for (j = 0; j <= i - 1; j++)
{
binary += (char)(temp[i - j - 1] + 48);
}

if (binary.Length < 4) //如果小于4位左边补零
{
int len = 4 - binary.Length;
string str = "";

while (len > 0)
{
str += "0";
len--;
}

binary = str + binary;
}

return (binary);
}

protected void Button1_Click(object sender, EventArgs e)
{
CreateCodeLogo(TextBox1.Text);
}

产品导航
条码 条码打印机
条码扫描引擎
Tohken 条码扫描器
datalogic 数据采集器
Microscan loftware
bartender 条码软件
codesoft 条码打印软件
普印力printronix Denso
无线网络 sirit
RFID RFID Tag RFID应用
标签打印机 Intermec 易腾迈
仓库管理软件 生产管理系统
固定资产管理系统
防爆移动电脑 车载终端
RFID打印机 冷链物流管理
自动巡检 集装箱管理系统

技术支持
服务协议 下载中心
RFID技术应用 射频技术
条码知识 二维条码
条形码 二维条形码

联系我们 | 留言解答 | 友情链接 | 下载中心 | 仓库管理 | 博客信息
版权© 2012 北京希创技术公司,未经允许不得以任何方式和手段进行复制和使用。
CopyRight © 1997-2012 www.systron.com.cn All Rights Reserved.
北京:010-51296680 64200658/0659/0657/0774 上海:021-52379720/9730/2320/52370041