Android生成一维码

BitmapUtil.java里面添加个方法

/**
        * 用于将给定的内容生成成一维码 注:目前生成内容为中文的话将直接报错,要修改底层jar包的内容
        *
        * @param content 将要生成一维码的内容
        * @return 返回生成好的一维码bitmap
        * @throws WriterException WriterException异常
        */
        public static Bitmap CreateOneDCode(String content) throws WriterException {
            // 生成一维条码,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败
            BitMatrix matrix = new MultiFormatWriter().encode(content,
                    BarcodeFormat.CODE_128, 500, 200);
            int width = matrix.getWidth();
            int height = matrix.getHeight();
            int[] pixels = new int[width * height];
            for (int y = 0; y < height; y++) {
                for (int x = 0; x < width; x++) {
                    if (matrix.get(x, y)) {
                        pixels[y * width + x] = 0xff000000;
                    }
                }
            }

            Bitmap bitmap = Bitmap.createBitmap(width, height,
                    Bitmap.Config.ARGB_8888);
            // 通过像素数组生成bitmap,具体参考api
            bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
            return bitmap;
        }

MainActivity.java里面监听

button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                //得到输入框的值
                String trim = editText.getText().toString().trim();
                Bitmap bitmap;
                try {
                    //生成一维码
                     bitmap = BitmapUtil.CreateOneDCode(trim);
                        if(bitmap != null){
                            //给image赋值
                            imageView.setImageBitmap(bitmap);
                        }
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }
        });

时间: 2024-07-31 13:33:54

Android生成一维码的相关文章

zxing解析生成一维码二维码

@web界面实现扫一扫 二维码工具类 package util; import java.awt.BasicStroke; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Shape; import java.awt.geom.RoundRectangle2D; import java.awt.image.BufferedImage; import java.

java生成一维码

package com.warehouse.common.util; import org.jbarcode.JBarcode;import org.jbarcode.JBarcodeFactory;import org.jbarcode.encode.Code128Encoder;import org.jbarcode.encode.InvalidAtributeException;import org.jbarcode.paint.TextPainter;import org.jbarcod

使用JBarcode生成一维码

需要的jar包,只有jbarcode.jar 链接: https://pan.baidu.com/s/1o9oDPB8 密码: x367 public class Main { //设置条形码高度 private static final int BARCODE_HEIGHT = 40; //设置条形码默认分辨率 private static final int BARCODE_DPI = ImageUtil.DEFAULT_DPI; //设置条形码字体样式 private static fin

c#生成二维码,一维码(条形码)

  一.一维码 1.一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN码.39码.交叉25码.UPC码.128码.93码,ISBN码,及Codabar(库德巴码)等. 2.一维码用处:可以识别商品的基本信息,例如商品名称.价格等,但并不能提供商品更详细的信息,要调用更多的信息,需要电脑数据库的进一步配合. 代码具体实现:引用spire Barcode程序包,既可以生成一维码,又可以生成二维码,这是一个EAN-13码 使用winform实现: //创建 BarcodeSettings

使用Zxing 一维码

最近看到满大街的二维码扫码有惊喜,对二维码也有过一些了解,想看看到底是什么原理,在网上找了一些资料,自己弄了一个实例,采用的是MVC,贴出来分享一下 一维码生成 Controller public ActionResult QRCodView() { return View(); } 1 <div class="col-md-4"> 2 <h2>一维码生成</h2> 3 <div><input type="number&q

Android二维码开源项目zxing用例简化和生成二维码、条形码

上一篇讲到:Android二维码开源项目zxing编译,编译出来后有一个自带的测试程序:CaptureActivity比较复杂,我只要是把一些不用的东西去掉,用看起来更方便,二维码和条形码的流行性自不必说了. 自带的例子,目录结构如下: 修改后的程序目录结构,去掉了很多功能,如果分享.设置等. 先上效果图          扫描ZXing生成的条形码和二维码结果 扫描界面 扫描商品的条码 整个程序只修改了以下两个类,其它都是直接从原来的Demo中复制出来的 生成二维码的代码 /** * 生成二维

一维码生成 c# winform GUI

最近看到同事小红在做一维码,感觉挺好玩,于是就在网上找了一个例子来玩玩. 下面的代码均为网上的代码,做了一些整理,但是忘记了出处,原作者看到可以提醒我,谢谢. 首先,一维码的相关知识可以先百度一下:http://baike.baidu.com/link?url=I4k1PM3WN5T9z0tGSC7eKLVg8GlDZvoWTM8N4cxzocueqAJBOHQl5SwB4fcpF3AWE3V8ipWqY_w7Rb0EcZA6v_ 其中讲的还是比较清楚的,了解就行. 说明:本例讲的是code39

Android二维码的生成算法原理简介

二维码的定义:二维码 (2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的.在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K等.1.堆叠式/行排式二维条码,如,Code 16K.Code 49.PDF417(如下图)等2.矩阵式二维码,最流行莫过于Q

Android二维码扫描功能的集成开发

二维码开发主要依赖ZXing开源项目 项目地址:https://github.com/zxing/zxing 这个开源项目可以扫描一维,和二维码, 一维码指的是书后面的条形码 首先配置ZXing库和Android工程 项目本身非常大,我们只需使用精简版的库 导入之后 TestQRcode 项目作为库被其他项目使用. BarCodeTestActivity package com.ericssonlabs; import com.google.zxing.WriterException; impo