您的位置:首页 > 其它

源码二维码

2016-09-26 08:12 309 查看
==============================================maiactivity

package com.example.er;

import com.google.zxing.WriterException;

import android.os.Bundle;

import android.app.Activity;

import android.graphics.Bitmap;

import android.view.Menu;

import android.widget.ImageView;

public class MainActivity extends Activity {

    private Bitmap bitmap;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        ImageView image = (ImageView) findViewById(R.id.image);

        try {

            bitmap = QrUtils

            .createQRCode(

            "八维欢迎你",

            100);

            } catch (WriterException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

            }

            image.setImageBitmap(bitmap);

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }

    

}

=====================================qlutilsactivity

package com.example.er;

import java.util.Hashtable;

import android.graphics.Bitmap;

import com.google.zxing.BarcodeFormat;

import com.google.zxing.EncodeHintType;

import com.google.zxing.MultiFormatWriter;

import com.google.zxing.WriterException;

import com.google.zxing.common.BitMatrix;

 

public class QrUtils {

private static final int BLACK = 0xff000000;

public static Bitmap createQRCode(String str, int widthAndHeight)

throws WriterException {

Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();

hints.put(EncodeHintType.CHARACTER_SET, "utf-8");

BitMatrix matrix = new MultiFormatWriter().encode(str,

BarcodeFormat.QR_CODE, widthAndHeight, widthAndHeight);

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] = BLACK;

}

}

}

Bitmap bitmap = Bitmap.createBitmap(width, height,

Bitmap.Config.ARGB_8888);

bitmap.setPixels(pixels, 0, width, 0, 0, width, height);

return bitmap;

}

}

===================================导入zxing架包

===================================main。xml定义一个image的空间,utilsactivity没有xml文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: