请问哪位做过这方面的东西,提供一些资料,谢谢!
CSDN上有个PDF417的.NET类,不知道怎么生成图片,给出使用方法也可以!
再次感谢!
public static Bitmap GenerateBitmap(string barcodeText, int hscale, int vscale)
{
Pdf417lib pd = new Pdf417lib();
pd.setText(barcodeText);
pd.Options = Pdf417lib.PDF417_INVERT_BITMAP;
pd.paintCode();
Bitmap bitmap = new Bitmap(pd.BitColumns * hscale, pd.CodeRows * vscale);
Graphics g = Graphics.FromImage(bitmap);
sbyte[] bits = pd.OutBits;
int cols = (pd.BitColumns - 1) / 8 + 1;
int row = -1;
int bitcol = 0;
for(int i=0; i < bits.Length; ++i)
{
if ((i % cols) == 0)
{
row++;
bitcol = 0;
}
int value = bits[i];
for(int j = 7; j >= 0; j--)
{
int mask = (int) Math.Pow(2, j);
if((value & mask) != 0)
g.FillRectangle(Brushes.White, bitcol * hscale, row * vscale, hscale, vscale);
else
g.FillRectangle(Brushes.Black, bitcol * hscale, row * vscale, hscale, vscale);
bitcol++;
if(bitcol == pd.BitColumns)
break;
}
}
g.Dispose();
return bitmap;
}
Bitmap x = new Bitmap(50, 50);
x = GenerateBitmap("12345678", 2, 2);
x.Save(@"c:\1.bmp");
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Drawing.Design;
using System.Drawing.Drawing2D;
using System.Drawing.Printing;
using System.Drawing.Imaging;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
private string CreateCheckCodeString()
{ //定义用于验证码的字符数组
char[] AllCheckCodeArray ={ '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','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'};
//定义验证码字符串
string randomcode = "";
Random rd = new Random();
//生成4位验证码字符串
for (int i = 0; i < 8; i++)
randomcode += AllCheckCodeArray[rd.Next(AllCheckCodeArray.Length)];
return randomcode;
}
//生成验证码图片
protected void Page_Load(object sender, EventArgs e)
{
//定义图片的宽度
int ImageWidth = 80;
//定义图片高度
int ImageHeigh = 25;
//定义字体,用于绘制文字
Font font = new Font("Arial", 10, FontStyle.Bold);
//定义画笔,用于绘制文字
Brush brush = new SolidBrush(Color.Black);
//定义钢笔,用于绘制干扰线
Pen pen1 = new Pen(Color.FromArgb(255, 100, 100), 0);//这里也可以直接获得一个现有的color对象如:Color.Gold.我是为了美观所以定义和下面一样
Pen pen2 = new Pen(Color.FromArgb(255, 100, 100), 0);//这里根据ARGB值定义获得了一个color对象
//创建一个图像
Bitmap BitImage = new Bitmap(ImageWidth, ImageHeigh);
//从图像获取一个绘画面
Graphics graphics = Graphics.FromImage(BitImage);
//清除整个绘图画面并用颜色填充
graphics.Clear(ColorTranslator.FromHtml("#F0F0F0"));//这里从HTML代码获取color对象
//定义文字的绘制矩形区域
RectangleF rect = new RectangleF(5, 2, ImageWidth, ImageHeigh);
//定义一个随机数对象,用于绘制干扰线
Random rand = new Random();
//生成两条横向的干扰线
for (int i = 0; i < 2; i++)
{
//定义起点
Point p1 = new Point(0, rand.Next(ImageHeigh));
//定义终点
Point p2 = new Point(ImageWidth, rand.Next(ImageHeigh));
//绘制直线
graphics.DrawLine(pen1, p1, p2);
}
//生成两条纵向的干扰线
for (int i = 0; i < 2; i++)
{
//定义起点
Point p1 = new Point(rand.Next(ImageWidth), 0);
//定义终点
Point p2 = new Point(rand.Next(ImageWidth), ImageHeigh);
//绘制直线
graphics.DrawLine(pen2, p1, p2);
}
//绘制验证码文字
graphics.DrawString(CreateCheckCodeString(), font, brush, rect);
//保存图片为gif格式
BitImage.Save(Response.OutputStream, ImageFormat.Gif);
//释放对象
graphics.Dispose();
BitImage.Dispose();
_Default a = new _Default();
Session["xyz"] = a.CreateCheckCodeString();
}
}
2012年最新二维码编码和解码程序套件,是开发二维条码生成和自动识别应用参考实例。自动识别PDF417、QRCODE、DataMatrix和HanXin条码图形,同时又能将文本、图像、声音和指纹混合编码,生成二维条码。二维码种类包括...
android 基于zxing 完善的扫描demo 可以扫描二维码、条形码、pdf417格式条形码
二维码PDF417简介及其解码实现(zxing-cpp)
package com.jeeplus.common.utils; import java.awt.image.BufferedImage; import java.io.File; import java.util.Hashtable; import javax.imageio.ImageIO; import com.google.zxing.BarcodeFo
条码技术——从一维到二维 从条形码到二维码 生活中,我们经常能够看到二维码,到处充斥着“扫一扫”,但是,你是否想过,小小的二维码里面藏着哪些信息?二维码又是如何被创造出的? 条码技术的诞生从...
二维条码的原理与结构
二维条码 / 二维码的分类 1. 堆叠式/行排式二维条码 有代表性的行排式二维条码有:Code 16K、Code 49、PDF417等 2. 矩阵式二维码 ...在目前几十种二维要码中,常用的码制有:PDF417二维条码, Datamatrix二
本篇文章中,旨在解决如何用...目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。一、问题描述QR二维码应用广泛, 随处可见,如下图所示。很多人都想要用Matlab实现QR二维码的生成与识别的功能,但是苦于不...
PDF417 (二维码): 多行组成的条形码 不需要连接一个数据库,本身可存储大量数据 应用于:医院、驾驶证、物料管理、货物运输 当条形码受一定破坏时,错误纠正能使条形码能正确解码 PDF417, 是Symbol科技公司于1990...
二维码使用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础地“0”、“1”比特流地概念,使用若干个与二进制相对应地...
转自: http://blog.csdn.net/zxc024000/article/details/51135332 ... 一维码: ...条形码由宽度不同、反射率不同的条(黑色)和空(白色)组成。按照特定的编码规则编制,用来表达一组数字、字母信息
java生成二维码、条形码和二维码、条形码的解码2015年08月12日 15:26:31阅读数:6710首先,使用java生成二维码和条形码需要ZXingZXing是一个开源Java类库用于解析多种格式的条形码和二维码.官网:...
编码规则 唯一性:同种规格同种产品对应同一个产品代码,同种产品不同规格应对应不同的产品代码。根据产 品的不同性质,如:重量、包装、规格、气味、颜色、形状等等,赋予不同的商品代码。 永久性:产品...
二维码PDF417是一种堆叠式二维条码。PDF417条码是由美国SYMBOL公司发明的,PDF(Portable Data File)意思是“便携数据文件”。组成条码的每一个条码字符由4个条和4个空共17个模块构成,故称为PDF417条码。 PDF417条码...
一、什么是二维码: 二维码 (2-dimensional bar code),是用某种特定...在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K等。 1
简述二维码(QR Code)是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间的图形记录数据符号信息的。...二维码的生成细节和原理二维条码常用的码制: Data Matrix、MaxiCode、Aztec、QR Code
PDF417条码(Portable Data File 便携式数据文件)是一种线性堆叠式的二维码,因为这个特性,在识读上,可以采用线性扫描的产品比如 激光扫描枪,CCD之类的条码阅读器读取,但实际操作效果不如影像式产品来的速度更...
最近客户抽筋了,不想要我们现有的二维码,转而采用二维条码。(这之前二维码也不是我做的)既然是甲方bb提出的,老板又安排到到我手上了,那么我就得心(一)甘(脸)情(苦)愿(逼)的默默解决呗。 二维码/二维条码介绍:...
城市疏导局(前身是城市管理局)实行新政,秉持“用高科技提升城市形象”的原则,要给办证从业人员开辟专门的广告涂鸦墙,条件是:不得使用手工喷涂的字体,而必须改用工整的、不影响大众视觉的二维码。 上面的消息...
采用的是开源的ZXing,Maven配置如下,jar包下载地址,自己选择版本下载,顺便推荐下Maven Repository <!-- ...gt; <dependency>...g...
By reading this piece, you will learn about the tips and tricks to generate one-dimensional barcodes in different formats as well as Quick Response code (QR Code) generation. Besides, this tutorial wi...
PDF417是美国符号科技(Symbol Technologies, Inc.)发明的二维条码,发明人是台湾赴美学人王寅君博士,王博士於1984年毕业於国立交通大学资讯系,获得纽约州立大学石溪分校(University of New York at Stony Brook)...
用于商品时,通常对于每一种物品,它的编码是唯一的,对于普通的一维条码来说,还要通过数据库建立条码与商品信息的对应关系,当条码的数据传到计算机上时,由计算机上的应用程序对数据进行操作和处理。一 维条形码...
再将讲这个工具类之前,我先给小白补充一点条形码和二维码(以下基础知识选自,我本科阶段的一本教材:《物联网导论》(刘云浩 编著)。有对物联网感兴趣的,可以看看这本书),我们要内外兼修,你说是不是这么个理呢...
Python识别验证码一级目录二级目录三级目录 之前写过一篇python制作二维码的博文,受到了很多读者朋友的喜爱,也有很多读者催促我写一篇用python解析,准备了良久,写出了这篇文章。 一级目录 二级目录 三级目录 ...
Zbar条码解码器是一个开源的二维码(包括条形码)解码器,可以识别来至于视频流,图像文件、手持扫码器和视频设备(如摄像头)等二维码识别,支持EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, QR Code(二维码)...
二维条码(二维码)是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间的图形记录数据符号信息的。二维码是DOI(Digital Object Unique Identifier,数字对象唯一识别符)的一种。 在代码编制上...
jdk1.8 64位官方正式版 jdk-8u91-windows
C#入门必看含有100个例字,每个例子都是针对C#的学习关键知识点设计的,是学习C#必须知道的一些程序例子,分享给大家,需要的可以下载
本Java视频教程基于 Hibernate4.x 录制。内容涵盖安装 Hibernatetools 插件、Session 核心方法、持久化对象生命周期、对象关系映射(1-n、1-1、n-n、继承映射)、检索策略、检索方式(对象导航图、OID 检索、HQL、QBC、本地SQL)、Hibernate 一\二级缓存、管理 Session、批量处理等 Hibernate 企业级开发的核心技术。 本Java视频教程将帮助掌握学习者编写出具有合理的软件架构,以及好的运行性能和并发性能的实用 Hibernate 应用。Java视频教程内容注重理论与实践相结合,列举大量具典型性和实用价值的 Hibernate应用实例,并提供详细的开发和部署步骤。