条形码二维码扫描生成demo
1、有木有高手知道怎么自己制作条形码,并用手机可以扫描出来直接连到网络上查价格。简单一点就是让扫出来的
中国物品编码中心申请条码,然后在他们的数据库里备案,一般他们会给一个号段,用条码软件生成最后一位校验码,用手机扫描软件就可以扫描了。但貌似微信的扫一扫不怎么支持这个数据库。
2、什么软件用条码可以自动生成二维码
可以用Bartender和SmartVizor条码标签打印软件。条形码、二维码均是目前在物品标签上得到广泛应用的编码方式,条形码易于扫描但信息量小,占用标签面积大,二维码识别速度略慢但可存储大量信息,而且占用标签面积小,单个二维码存储的信息可达条形码的数十倍。
把多个条形码信息合并在单个二维码内作为一个扫描批次的标识,可以让使用人员方便的了解一个批次内的多件物品信息,快速直观,无需网络及数据库支持,即节约成本,又能提升物品管理的效率。
(2)条形码二维码扫描生成demo扩展资料:
二维码的功能:
1、信息获取(名片、地图、WIFI密码、资料)
2、网站跳转(跳转到微博、手机网站、网站)
3、广告推送(用户扫码,直接浏览商家推送的视频、音频广告)
4、手机电商(用户扫码、手机直接购物下单)
5、防伪溯源(用户扫码、即可查看生产地;同时后台可以获取最终消费地)
6、优惠促销(用户扫码,下载电子优惠券,抽奖)
7、会员管理(用户手机上获取电子会员信息、VIP服务)
8、手机支付(扫描商品二维码,通过银行或第三方支付提供的手机端通道完成支付)
9、账号登录(扫描二维码进行各个网站或软件的登录)
3、激光打标机二维码生成步骤如下
激光打标机的二维码生成二步搞定:
1、在打标软件上找到它的图标“绘制条码”,点击版它并点击软件权图板。
2、在左边编辑框“字体”下面选择对应的二维码类型,典型的有:DATAMATRIX。
默认打标内容是文字,用鼠标直接选择一维码。不同的软件其图标的位置不尽相同,就像WORD一样,不同功能有对应的图标。
4、Android二维码识别源码,可有多种实现方式
这里简单介绍一下ZXing库。ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。该项目可实现的条形码编码和解码。目前支持以下格式:UPC-A,UPC-E、EAN-8,EAN-13、39码、93码。ZXing是个很经典的条码/二维码识别的开源类库,以前在功能机上,就有开发者使用J2ME运用ZXing了,不过要支持JSR-234规范(自动对焦)的手机才能发挥其威力。
下面是ZXing的demo运行,我这里创建了一个二维码,内容是我博客的网址,大伙可以用微信的扫一扫功能,试一下。就可以直接打开我博客。
2、ZXing库主要类
下面给大家介绍一下,ZXing库里面主要的类以及这些类的作用:
CaptureActivity。这个是启动Activity 也就是扫描器。
CaptureActivityHandler 解码处理类,负责调用另外的线程进行解码。
DecodeThread 解码的线程。
com.google.zxing.client.android.camera 包,摄像头控制包。
ViewfinderView 自定义的View,就是我们看见的拍摄时中间的框框了。
3、使用ZXing生成二维码
下面针对二维码生成和解析做个简单介绍,至于详细的使用方法,建议大家还是自己看看源码,使用起来很简单,不过这个开源项目的代码,值得好好看看。首先给出二维码生成的方法:
View Code
上面就是二维码生成的方法接口,如果你只是使用者方法,很简单,只要传入一个URL即可,就像我截图里面一样,传入一个合法的网址即可。或者像现在一些移动APP的推广,把APP下载地址转为二维码,只要扫一下就可以下载相应的APP。这个也是目前比较流行的APP的推广方式。
上面代码做的事情不多,主要是调用ZXing库里面QRCodeWriter().encode的方法对我们传进去的URL进行编码,具体如何编码,这个我这里就不详细说,有兴趣可以看ZXing的源码。文章最后会给出ZXing的源码和例子代码。
4、扫描二维码获取信息
扫描获取二维码信息的工作稍微复杂一些,主要是需要编写Camera的使用,这个跟我们一般使用Camera一样,需要使用Surfaceview作为预览,这一部我这里就不说了,这个应该不是太复杂。对于使用过Camera做预览的朋友,应该是挺简单的事情。获取二维码数据的关键处理是在Camera的自动对焦回调函数哪里,调用ZXing的解码接口。
View Code
这里稍微多说一句,由于解码需要一定时间,所以ZXing的解码调用,都是使用了Handler作为线程通信机制,解码的工作都是放在独立线程里面使用的,如果你直接在主线程解码,恐怕ANR问题是避免不了。
View Code
上面是解码的线程处理不同状态的时候需要注意的地方,我们这里只看获取图像成功的地方,成功获取图片解码的实在DecodeThread里面实现,DecodeThread里面解码成功后,会把数据序列化,然后保存到Bundle里面,我们可以直接通过Bundle的序列化,获取到图片数据。同时会把解码后的结果保存到MSG里面,然后就可以根据实际情况进行处理,例如上面代码,解码成功后,会调用一个处理函数:
View Code
上面就是整个二维码的解码流程,里面因为涉及很多Camera的使用,所以你如果需要使用二维码识别,需要注意一下你的程序需要申请下面的权限,一般的Camera使用以及Camera的自动对焦等。
View Code
5、结语
上面就是生成和识别二维码的关键流程和代码,有兴趣的朋友可以自己查看ZXing的源码,里面有很多图像分析的知识可以学习。具体使用也可以参考我下面给出的Demo。二维码对于现在移动开发来说很是很常用的技术,所以有空可以了解一下,说不定什么时候就用上了。另外,ZXing库除了二维码外,其实对于条形码也是支持的,只是我这里没有介绍。有需要的自己去看看源码即可。
转载
5、条形码可以自己生成吗?
条形码不可以自己生成。需要到所在地的编码分支机构办理申请厂商识别代码手续,而且需要提供相关材料才可以申请办理。
条形码申请程序:
1、申请人可到所在地的编码分支机构办理申请厂商识别代码手续,并提供企业法人营业执照或营业执照及其复印件三套。(分别由中国物品编码中心、申请人所在地的编码分支机构和申请人所在企业内部存档保留)
2、填写《中国商品条码系统成员注册登记表》 ,可直接在 ANCC 在线填写注册登记表。(备注:如在网上填写申请表还需打印、盖章、然后提交到当地编码分支机构)
3、集团公司请填集团公司下属分公司基本信息表 。
4、申请人的申请资料经所在地的编码分支机构 初审后,符合条件的资料,由编码分支机构签署意见并报送到中国物品编码中心(以下简称编码中心)审批。
5、编码中心收到初审合格的申请资料及申请人交纳的费用(见表一) 后,对确实符合规定要求的,编码中心向申请人核准注册厂商识别代码,完成审批程序。
6、申请单位收到中国商品条码系统成员证书,申请结束。
(5)条形码二维码扫描生成demo扩展资料:
条形码的制作方法:
条形码的制作一般用印刷、通过条码打印机或激光雕刻机打印条形码。
条码打印机和普通打印机的最大的区别就是,条码打印机的打印是以热转印为基础,以碳带为打印介质(或直接使用热敏纸)完成打印,配合不同材质的碳带可以实现高质量的打印效果和在无人看管的情况下实现连续高速打印。
如要检测条码等级,使用专用的条码检测仪检测,条码等级分为从A级到F级,C级以下的条码属于不合格条码。
1、应用软件
NiceLabel、label matrix、Labelview、Bartender 、Codesoft、CorelDRAW、Photoshop、Illustrator。
Bartender、Label view、label matrix、Codesoft等属于专业条形码生成与打印软件,集条码生成、标签制作、批量打印于一体,可打印固定与可变数据并支持调用数据库(如.dbf,.xls,.mdb等)文件直接打印。
CorelDRAW、Photoshop、Illustrator属于专业的画图设计软件,另外Label mx可以导出条码为矢量图片(.emf 和.wmf)和CorelDRAW、Photoshop、Illustrator 交互使用。
2、生成条码控件
ComponentOne BarCode控件拥有生成超过10种的条形及二位编码类型的条码,您只需将控件拖入到您的窗体,并设置数值及编码类型,您就能够生成完全合格的二维码及条形码。
6、扫二维码后能显示商品信息那种二维码怎么做?
二维码里面不能直接插入视频,如果想要扫描二维码播放视频的话,你需要将视频上传到服务器或者自己的网站,得到一个网址,就是二维码的内容。如果想要制作含有产品信息的二维码,你需要下载一个二维码生成软件,如果是批量生成的话,可以把商品信息保存到txt文本或者excel表中,导入到二维码生成软件中 ,然后在二维码生成软件中生成二维码的时候,调用你导入的商品信息,就可以批量生成。
7、哪位大神 会制作一扫描就出现自己想要的字 的「二维码和条形码」啊?
网上有很多在线的二抄维码制作网站,比如:
也有很多手机软件可以制作,比如微信。
条形码的信息量太低,一般只能制作数字编码,汉字的不行。
8、android怎样生成条码和二维码
一、问题描述 在开发中需要将信息转换为二维码存储并要求带有公司的logo,我们知道Google的Zxing开源项目就很好的帮助我们实现条形码、二维码的生成和解析,但带有logo的官网并没有提供demo,下面就通过实例看看如何实现以及Zxing的使用。 二、案例介绍 1、案例运行效果 2、案例准备工作 在项目中加入jar,只需加入core/zxing/zxing/ 三、Zxing主要组件 1、BarcodeFormat 定义了不同的二进制编码方式,取值如下 EAN_13条形码,共计13位代码,比较常见,如商品上的包装上的都是这种条形码 CODE_QR二维码(矩阵码),比条形码存在更多信息,当下比较流行 CODE_128条形码 可表示可表示从 ASCII 0 到ASCII 127 共128个字符,用于企业管理,生产流程控制 CODE_39条形码,编制简单只接受如下43个字符 2、MultiFormatWriter 主要包含一个 encode()方法,可实现产生编码(条形、二维码) BitMatrix encode(String contents, BarcodeFormat format, int width, int height,Hashtable hints)方法 参数: contents:要编码的内容 format:编码格式(条形、二维) width,height:生成码的大小 hints:包含EncodeHintType(编码提示类型)信息的集合,主要设置字符编码,比如支持汉字的utf-8,如下: Hashtable hst = new Hashtable(); hst.put(EncodeHintType.CHARACTER_SET, “UTF-8″); 返回值:BitMatrix 二维矩阵点 3、BitMatrix BitMatrix :表现为一个二维矩阵,x表示列的位置,y表示行的位置,循序从左上角开始,一列一列排列(先x后y) 主要方法: getWidth():返回矩阵的宽度 getHeight():返回矩阵的高度 boolean get(x,y) :非常重要的方法,实现根据给定的x,y判断该位置是否有黑块 在产生二维码的应用中就是通过这个方法进行判断,然后把有黑块的点记录下来,使用Bitmap的setPixels()方法生成图形,详解案例的createCode()方法中的代码 四、完整代码 public class MainActivity extends Activity { private EditText etCompany; private EditText etPhone; private EditText etEmail; private EditText etWeb; private Bitmap logo; private static final int IMAGE_HALFWIDTH = 40;//宽度值,影响中间图片大小 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获得资源图片,可改成获取本地图片或拍照获取图片 logo=BitmapFactory.decodeResource(super.getResources(),R.drawable.y014); etCompany =(EditText) findViewById(R.id.etCompany); etPhone=(EditText) findViewById(R.id.etPhone); etEmail =(EditText) findViewById(R.id.etEmail); etWeb =(EditText) findViewById(R.id.etWeb); findViewById(R.id.but).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String company=etCompany.getText().toString().trim() ; String phone =etPhone .getText().toString().trim() ; String email = etEmail.getText().toString().trim() ; String web = etWeb.getText().toString().trim() ; //二维码中包含的文本信息 String contents= "BEGIN:VCARD/nVERSION:3.0/nORG:"+company+"/nTEL:"+phone+"/nURL:"+web+"/nEMAIL:"+email+"/nEND:VCARD"; try { //调用方法createCode生成二维码 Bitmap bm=createCode(contents,logo,BarcodeFormat.QR_CODE); ImageView img=(ImageView)findViewById(R.id.imgCode) ; //将二维码在界面中显示 img.setImageBitmap(bm); } catch (WriterException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } /** * 生成二维码 * @param string 二维码中包含的文本信息 * @param mBitmap logo图片 * @param format 编码格式 * @return Bitmap 位图 * @throws WriterException */ public Bitmap createCode(String string,Bitmap mBitmap, BarcodeFormat format) throws WriterException { Matrix m = new Matrix(); float sx = (float) 2 * IMAGE_HALFWIDTH / mBitmap.getWidth(); float sy = (float) 2 * IMAGE_HALFWIDTH / mBitmap.getHeight(); m.setScale(sx, sy);//设置缩放信息 //将logo图片按martix设置的信息缩放 mBitmap = Bitmap.createBitmap(mBitmap, 0, 0, mBitmap.getWidth(), mBitmap.getHeight(), m, false); MultiFormatWriter writer = new MultiFormatWriter(); Hashtable hst = new Hashtable(); hst.put(EncodeHintType.CHARACTER_SET, "UTF-8");//设置字符编码 BitMatrix matrix = writer.encode(string, format, 400, 400, hst);//生成二维码矩阵信息 int width = matrix.getWidth();//矩阵高度 int height = matrix.getHeight();//矩阵宽度 int halfW = width / 2; int halfH = height / 2; int[] pixels = new int[width * height];//定义数组长度为矩阵高度*矩阵宽度,用于记录矩阵中像素信息 for (int y = 0; y < height; y++) {//从行开始迭代矩阵 for (int x = 0; x < width; x++) {//迭代列 if (x > halfW - IMAGE_HALFWIDTH && x < halfW + IMAGE_HALFWIDTH && y > halfH - IMAGE_HALFWIDTH && y < halfH + IMAGE_HALFWIDTH) {//该位置用于存放图片信息 //记录图片每个像素信息 pixels[y * width + x] = mBitmap.getPixel(x - halfW + IMAGE_HALFWIDTH, y - halfH + IMAGE_HALFWIDTH); } else { if (matrix.get(x, y)) {//如果有黑块点,记录信息 pixels[y * width + x] = 0xff000000;//记录黑块信息 } } } } Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); // 通过像素数组生成bitmap bitmap.setPixels(pixels, 0, width, 0, 0, width, height); return bitmap; } }
9、二维条码怎么生成?
什么是二维条码二维条码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的 “0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。什么是二维条码? 二维条码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。 二维条码可以分为堆叠式二维条码和矩阵式二维条码。堆叠式二维条码形态上是由多行短截的一维条码堆叠而成;矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”, 用“空”表示二进制“0”,由“点”和“空”的排列组成代码。 堆叠式二维条码,有代表性的包括PDF417、Code 49、Code 16K等。 矩阵式二维条码有代表性的是Code one、Aztec、Date Matrix、QR码等。二维条码的特点1.高密度编码,信息容量大:可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。2.编码范围广:该条码可以把图片、声音、文字、签字、指纹等可以数字化的信息进行编码,用条码表示出来;可以表示多种语言文字;可表示图像数据。3.容错能力强,具有纠错功能:这使得二维条码因穿孔、污损等引起局部损坏时,照样可以正确得到识读,损毁面积达50%仍可恢复信息。4.译码可靠性高:它比普通条码译码错误率百万分之二要低得多,误码率不超过千万分之一。5.可引入加密措施:保密性、防伪性好6.成本低,易制作,持久耐用7.条码符号形状、尺寸大小比例可变8.二维条码可以使用激光或CCD阅读器识读。