云尚网站建设,东莞服务行业推广软件,网站的登陆注册页面怎么做,关于做膳食的一些网站ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括#xff1a;J2ME、J2SE和Android。 首先#xff0c;在其官网http://code.google.com/p/zxing/上去下载源码 编译在其cshar… ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括J2ME、J2SE和Android。 首先在其官网http://code.google.com/p/zxing/上去下载源码 编译在其csharp目录下打开zxing.csproj文件新建一个工程。在编译之前修改两个错误 源代码中有两处UTF-8的问题会导致乱码 其一com.google.zxing.qrcode.encoder.encoder类中的 internal const System.String DEFAULT_BYTE_MODE_ENCODING ISO-8859-1; 此处将ISO-8859-1改为UTF-8 其二com.google.zxing.qrcode.decoder.DecodedBitStreamParser类的成员 private const System.String UTF8 UTF8; 应将UTF8改为UTF-8 修改完之后点重新生成编译出新的dll文件。 将zxing.dll考入到你自己所需要的工程中并添加引用。 这样自己就可以试用了主要是二维码的生成和识别两个用处 二维码的生成 using com.google.zxing.qrcode;
using com.google.zxing;
using com.google.zxing.common;
using ByteMatrix com.google.zxing.common.ByteMatrix;
using EAN13Writer com.google.zxing.oned.EAN13Writer;
using EAN8Writer com.google.zxing.oned.EAN8Writer;
using MultiFormatWriter com.google.zxing.MultiFormatWriter;
private void button1_Click(object sender, EventArgs e)
{string content textBox1.Text;
ByteMatrix byteMatrix new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 200, 200);
Bitmap bitmap toBitmap(byteMatrix);
pictureBox1.Image bitmap;
//writeToFile(byteMatrix, System.Drawing.Imaging.ImageFormat.Png, sFD.FileName);
//SaveFileDialog sFD new SaveFileDialog();
//sFD.DefaultExt *.png|*.png;
//sFD.AddExtension true;
//try
//{
// if (sFD.ShowDialog() DialogResult.OK)
// {
// }
//}
//catch (Exception ex)
//{
// MessageBox.Show(ex.Message);
//}}
public static void writeToFile(ByteMatrix matrix, System.Drawing.Imaging.ImageFormat format, string file)
{
Bitmap bmap toBitmap(matrix);
bmap.Save(file, format);
}
public static Bitmap toBitmap(ByteMatrix matrix)
{
int width matrix.Width;
int height matrix.Height;
Bitmap bmap new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
for (int x 0; x width; x)
{
for (int y 0; y height; y)
{
bmap.SetPixel(x, y, matrix.get_Renamed(x, y) ! -1 ? ColorTranslator.FromHtml(0xFF000000) : ColorTranslator.FromHtml(0xFFFFFFFF));
}
}
return bmap;
} 二维码的读取识别 private void button1_Click(object sender, EventArgs e)
{
if (this.openFileDialog1.ShowDialog() ! DialogResult.OK)
{
return;
}
Image img Image.FromFile(this.openFileDialog1.FileName);
Bitmap bmap;
try
{
bmap new Bitmap(img);
}
catch (System.IO.IOException ioe)
{
MessageBox.Show(ioe.ToString());
return;
}
if (bmap null)
{
MessageBox.Show(Could not decode image);
return;
}
LuminanceSource source new RGBLuminanceSource(bmap, bmap.Width, bmap.Height);
com.google.zxing.BinaryBitmap bitmap new com.google.zxing.BinaryBitmap(new COMMON.HybridBinarizer(source));
Result result;
try
{
result new MultiFormatReader().decode(bitmap);
}
catch(ReaderException re)
{
MessageBox.Show(re.ToString());
return;
} MessageBox.Show(result.Text);
} 转载于:https://www.cnblogs.com/hnsongbiao/p/9145285.html