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

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);
}

产品导航
条码条形码
条码打印机 标签打印机
条码扫描器 条码阅读器
条码软件 条码打印软件
普印力printronix 条码机
标签 色带
RFID电子标签
数据采集器
平板电脑 移动电脑
车载电脑 机器视觉
无线网络 cisco无线网络
Intermec 码捷metrologic
LXE 研华advantech
仓库管理软件系统WMS
生产管理软件系统MES
固定资产管理 RFID应用

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

联系我们 | 留言解答 | 站点地图 | 下载中心 | 知识中心 | 博客信息
版权© 2007 北京希创技术公司,未经允许不得以任何方式和手段进行复制和使用。
CopyRight © 1997-2007 www.systron.com.cn All Rights Reserved.
北京:010-51296680 64200658/0659/0657/0774 上海:021-68762340/2341/2342/2343  广州:020-85552919/2920/2923/85540702