android生成二维码

新建项目

布局截图如下(一个输入框,一个按钮,一个imageview),输入想要的东西(文字,数字,网站链接等)然后点击按钮生成二维码,然后可以扫描识别。

首先需要一个谷歌的一个jar包

activity的代码

	private EditText et1;
	private Button btn1;
	private ImageView iv1;

	private static final int IMAGE_HALFWIDTH = 35;//图片宽度值大小

  

找到输入框,和按钮,imageview

                et1 = (EditText)findViewById(R.id.editText1);
		btn1 = (Button)findViewById(R.id.button1);
		iv1 = (ImageView)findViewById(R.id.imageView1);

  按钮点击事件

		btn1.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				String toMakePic_string = et1.getText().toString().trim();
				Bitmap logo= BitmapFactory.decodeResource(getResources(),R.drawable._netcfg);

				try {
					Bitmap bm=createCode(toMakePic_string,logo,BarcodeFormat.QR_CODE); //一个方法在下面
					iv1.setImageBitmap(bm);
				} catch (WriterException e) {
					e.printStackTrace();
				}
			}
		});

  

createCode方法 返回bitmap
    public Bitmap createCode(String string,Bitmap mBitmap, BarcodeFormat format)throws WriterException {
    	//Matrix,中文里叫矩阵,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。
    	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, 800, 800, 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;
	}

  

完成截图(写什么都可以)【】

时间: 2024-10-14 05:53:55

android生成二维码的相关文章

Android:使用ZXing生成二维码(支持加入Logo图案)

ZXing是谷歌的一个开源库.能够用来生成二维码.扫描二维码.本文所介绍的是第一部分. 首先上效果图: ZXing相关各种文件官方下载地址:https://github.com/zxing/zxing/releases 或者在这里下载(仅仅有本项目所用的jar包,版本:3.2.0):链接: http://pan.baidu.com/s/1hq3s5EW password: mvg7 1.生成二维码的工具类 /** * 二维码生成工具类 */ public class QRCodeUtil { /

Android zxing 解析二维码,生成二维码极简demo

zxing 官方的代码很多,看起来很费劲,此demo只抽取了有用的部分,实现了相机预览解码,解析本地二维码,生成二维码三个功能. 简化后的结构如下: 废话少说直接上代码: BaseDecodeHandler: package com.song.zxing.decode; import android.graphics.Bitmap; import android.os.Bundle; import com.google.zxing.BarcodeFormat; import com.google

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

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

玩转Android之二维码生成与识别

二维码,我们也称作QRCode,QR表示quick response即快速响应,在很多App中我们都能见到二维码的身影,最常见的莫过于微信了.那么今天我们就来看看怎么样在我们自己的App中集成二维码的扫描与生成功能.OK,废话不多说,我们就开始做吧. 二维码的使用我主要想分为两部分来给大家介绍,一部分就是二维码的生成,这里的知识点都很简单,还有一部分是二维码的识别,这里稍微麻烦一些,不过细心来做其实也很简单.二维码的开发使用我们大多都是使用Google提供的zxing这个类库,使用这个类库我们需

Android实例-实现扫描二维码并生成二维码(XE8+小米5)

相关资料: 第三方资料太大没法写在博文上,请下载CSDN的程序包. 程序包下载: 过几天,刚上传的包,都没有办法显示. 注意事项: 如果只加了Lib,然没有改AndroidManifest.xml,App在呼叫BarCode时会ANR没反应.开始可能没有官方的classes.dex,但如果发现编译出错后,请再检查一下.TMessageManager须加System.Messaging单元. 使用DelphiXE7加入JavaLibrary后,呼叫Zxing相机1.新建一个DelphiXE工程,双

Android应用开发:生成二维码

二维码这个东西自从出来后就一直流行到现在,无论走到哪里,二维码都可能出现在你的眼前.现在智能手机基本上都有扫一扫功能,扫的就是二维码.那我们怎么样在手机上生成个自己的二维码呢?Android开发中生成二维码不难,用Google ZXing生成二维码很简单,下面我们就简单操作一直,把最主要的代码贴出来,还请大家多指教! 第一步: 确定我们二维码的位置,即是在我们应用的哪个页面的哪个位置,简单讲就是用一个ImageView把二维码展示出来,我们就把二维码展示在下面布局activity_qr_layo

Android Studio - 第四十七期 毛玻璃效果以及动态生成二维码以及增大点击热区

最近回看撸撸的代码,有一些自定义的view写法很不错,下面封装出来,希望能帮到大家: 1.毛玻璃效果:BitmapUtils package com.example.p030_popbgqcode.utils; import android.content.Context; import android.graphics.Bitmap; import android.renderscript.Allocation; import android.renderscript.Element; imp

Android基于Google Zxing实现二维码/条形码扫描、生成二维码/条形码

 二维码/条形码生成器 二维码/条形码扫描器 一.二维码与条形码工作原理 目前的很多应用上都有扫码功能,当时微信推出二维码扫码功能时,觉得imagine,通过一张简单的图片就能扫描添加还有,还有分享名片功能(也是一张二维码图片,识别扫描). 下面小编将通过文章主要介绍QRCode方面技术. QRCode是被广泛应用的一种二维码,解码速度快.二维码相对于条形码来说,二维码的存储数据量更大,空间利用率高,有一定的容错性. 二维码原理介绍: 二维码是用某种特定的几何图形按一定的规律在平面上分布的黑

Android:使用ZXing生成二维码(支持添加Logo图案)

ZXing是谷歌的一个开源库,可以用来生成二维码.扫描二维码.本文所介绍的是第一部分. 首先上效果图: ZXing相关各种文件官方下载地址:https://github.com/zxing/zxing/releases 或者在这里下载(只有本项目所用的jar包,版本号:3.2.0):链接: http://pan.baidu.com/s/1hq3s5EW 密码: mvg7 1.生成二维码的工具类 /** * 二维码生成工具类 */ public class QRCodeUtil { /** * 生