有没有可以参考的源代码?
我需要的是可以打印的一维码图片。。
不是字符串。也不是其他格式的。
我知道可以转换。但是请给出转换成图片的方法。
我需要的是可以打印的一维码图片。。
不是字符串。也不是其他格式的。
我知道可以转换。但是请给出转换成图片的方法。
解决方案 »
- datagridview 日历
- C# 查询语句 select top 后面跟参数
- 请教 dataset 里的数据如何插入到数据库中?
- 在程序启动时如何保存上次启动时的某个窗口的设置
- SqlDataReader对像取记录总数和取指定的 记录
- 最后的分数,大家拿
- 关于存储到数据库中字符被截断的问题
- 超级菜鸟问题,诚请高人指教!
- 如何把C#的数据库管理系统做成安装文件,如果生成后那数据库又如何处理呢
- 关于事件的问题-----------请大家多多帮忙
- |ZYCWPF| 用户自定义控件如何实现VMMV,为什么我注册的4个属性,两个有效,两个无效 谢谢 有源码示例
- 【急】C#如何将Visio模板(vtx)转换为Visio文档(vsd)?
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Me.BarcodeSoftware.Barcode
{
public class Code39
{
//w - wide
//t - thin
//Start the drawing with black, white, black, white......
public string encode(string data, int chk)
{
string fontOutput = mcode(data, chk);
string output = "";
string pattern = "";
for (int x = 0; x < fontOutput.Length; x++)
{
switch (fontOutput[x])
{
case '1':
pattern = "wttwttttwt";
break;
case '2':
pattern = "ttwwttttwt";
break;
case '3':
pattern = "wtwwtttttt";
break;
case '4':
pattern = "tttwwtttwt";
break;
case '5':
pattern = "wttwwttttt";
break;
case '6':
pattern = "ttwwwttttt";
break;
case '7':
pattern = "tttwttwtwt";
break;
case '8':
pattern = "wttwttwttt";
break;
case '9':
pattern = "ttwwttwttt";
break;
case '0':
pattern = "tttwwtwttt";
break;
case 'A':
pattern = "wttttwttwt";
break;
case 'B':
pattern = "ttwttwttwt";
break;
case 'C':
pattern = "wtwttwtttt";
break;
case 'D':
pattern = "ttttwwttwt";
break;
case 'E':
pattern = "wtttwwtttt";
break;
case 'F':
pattern = "ttwtwwtttt";
break;
case 'G':
pattern = "tttttwwtwt";
break;
case 'H':
pattern = "wttttwwttt";
break;
case 'I':
pattern = "ttwttwwttt";
break;
case 'J':
pattern = "ttttwwwttt";
break;
case 'K':
pattern = "wttttttwwt";
break;
case 'L':
pattern = "ttwttttwwt";
break;
case 'M':
pattern = "wtwttttwtt";
break;
case 'N':
pattern = "ttttwttwwt";
break;
case 'O':
pattern = "wtttwttwtt";
break;
case 'P':
pattern = "ttwtwttwtt";
break;
case 'Q':
pattern = "ttttttwwwt";
break;
case 'R':
pattern = "wtttttwwtt";
break;
case 'S':
pattern = "ttwtttwwtt";
break;
case 'T':
pattern = "ttttwtwwtt";
break;
case 'U':
pattern = "wwttttttwt";
break;
case 'V':
pattern = "twwtttttwt";
break;
case 'W':
pattern = "wwwttttttt";
break;
case 'X':
pattern = "twttwtttwt";
break;
case 'Y':
pattern = "wwttwttttt";
break;
case 'Z':
pattern = "twwtwttttt";
break;
case '-':
pattern = "twttttwtwt";
break;
case '.':
pattern = "wwttttwttt";
break;
case ' ':
pattern = "twwtttwttt";
break;
case '*':
pattern = "twttwtwttt";
break;
case '$':
pattern = "twtwtwtttt";
break;
case '/':
pattern = "twtwtttwtt";
break;
case '+':
pattern = "twtttwtwtt";
break;
case '%':
pattern = "tttwtwtwtt";
break;
}
output = output.Insert(output.Length, pattern);
}
return output;
} private string humanText;
static char[] CODE39MAP = {'0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F','G','H','I','J',
'K','L','M','N','O','P','Q','R','S','T',
'U','V','W','X','Y','Z','-','.',' ','$',
'/','+','%'}; private string mcode(string data, int chk)
{
string cd = "", result = "";
string filtereddata = filterInput(data);
int filteredlength = filtereddata.Length; if (chk == 1)
{
if (filteredlength > 254)
filtereddata = filtereddata.Remove(254, filteredlength - 254);
cd = generateCheckDigit(filtereddata);
}
else
{
if (filteredlength > 255)
filtereddata = filtereddata.Remove(255, filteredlength - 255);
} result = "*" + filtereddata + cd + "*";
humanText = result;
return result;
} public string getHumanText()
{
return humanText;
} string generateCheckDigit(string data)
{ int datalength = 0;
int sum = 0;
int result = -1;
string strResult = "";
char barcodechar; datalength = data.Length;
for (int x = 0; x < datalength; x++)
{
barcodechar = data[x];
sum = sum + getCode39Value(barcodechar);
}
result = sum % 43;
strResult = getCode39Character(result).ToString(); return strResult; }
char getCode39Character(int inputdecimal)
{
return CODE39MAP[inputdecimal];
} int getCode39Value(char inputchar)
{
for (int x = 0; x < 43; x++)
{
if (CODE39MAP[x] == inputchar)
return x;
}
return -1;
} string filterInput(string data)
{
string result = "";
int datalength = data.Length; for (int x = 0; x < datalength; x++)
{
char barcodechar = data[x];
if (getCode39Value(barcodechar) != -1)
result = result.Insert(result.Length, barcodechar.ToString());
} return result;
} }
}