zoukankan      html  css  js  c++  java
  • 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();
                    }
                    
                }
            });
    复制代码
  • 相关阅读:
    2020北航OO第二单元总结
    2020北航OO第一单元总结
    OO结课了,狂喜
    BUAAOO第三单元总结
    BUAAOO第二单元代码分析
    BUAAOO第一单元代码分析
    OO第四次博客作业
    OO第三次博客作业
    OO第二次博客作业
    OO第一次博客作业
  • 原文地址:https://www.cnblogs.com/wbp0818/p/5424343.html
Copyright © 2011-2022 走看看