- 浏览: 47483 次
- 性别:
- 来自: 上海
文章分类
最新评论
一个简单的二维码生成demo,从别处借鉴来的:
package com.sys.android.erweima;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ImageButton;
import android.widget.ImageView;
public class ErweimaActivity extends Activity {
private ImageButton refreshButton;
private ImageView text;
private Bitmap blank;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
//用此字符串生成二维码图像,可以随意改变此字符串
// String str="XO11D1E1F1E1C1D1E1D1D1C1L1D1D1G1CAA";
// String str="csdfsafgafaw";
// String str="http://www.baidu.com";
// String str="http://api.bbpapp.com/bodoo2.60.php?controller=exercise&action=GetAllExercise&page=1&uid=11589";
String str="http://edit2.bbpapp.com/sale/print_guess/toy_id=126&uid=11589";
try {
Bitmap t=Create2DCode(str);
text = (ImageView) findViewById(R.id.text);
//text.setBackgroundResource(R.drawable.ic_launcher);
text.setImageBitmap(t);
} catch (WriterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
refreshButton = (ImageButton) findViewById(R.id.refreshButton);
setListener();
}
/**
* 点击刷新按钮事件listener
*/
private void setListener() {
refreshButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
text = (ImageView) findViewById(R.id.text);
text.setImageBitmap(blank);
finish();
Intent intent = new Intent();
intent.setClass(ErweimaActivity.this, ErweimaActivity.class);
startActivity(intent);
}
});
}
public Bitmap Create2DCode(String str) throws WriterException {
//生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败
BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, 300, 300);
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;
}
}
package com.sys.android.erweima;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ImageButton;
import android.widget.ImageView;
public class ErweimaActivity extends Activity {
private ImageButton refreshButton;
private ImageView text;
private Bitmap blank;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
//用此字符串生成二维码图像,可以随意改变此字符串
// String str="XO11D1E1F1E1C1D1E1D1D1C1L1D1D1G1CAA";
// String str="csdfsafgafaw";
// String str="http://www.baidu.com";
// String str="http://api.bbpapp.com/bodoo2.60.php?controller=exercise&action=GetAllExercise&page=1&uid=11589";
String str="http://edit2.bbpapp.com/sale/print_guess/toy_id=126&uid=11589";
try {
Bitmap t=Create2DCode(str);
text = (ImageView) findViewById(R.id.text);
//text.setBackgroundResource(R.drawable.ic_launcher);
text.setImageBitmap(t);
} catch (WriterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
refreshButton = (ImageButton) findViewById(R.id.refreshButton);
setListener();
}
/**
* 点击刷新按钮事件listener
*/
private void setListener() {
refreshButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
text = (ImageView) findViewById(R.id.text);
text.setImageBitmap(blank);
finish();
Intent intent = new Intent();
intent.setClass(ErweimaActivity.this, ErweimaActivity.class);
startActivity(intent);
}
});
}
public Bitmap Create2DCode(String str) throws WriterException {
//生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败
BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, 300, 300);
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;
}
}
发表评论
-
android 判断ImageView当前显示的是哪一张图片
2015-12-29 14:40 1698判断ImageView当前显示的是哪一张图片 private ... -
Android 4.4及以上WebView问题
2015-10-27 17:41 10901. 4.4系统以上WebView页面内容重叠问题 连接 ... -
Android AlertDialog包含EditText,软键盘不能弹出的解决方法
2015-09-16 14:31 1140AlertDialog包含EditText,软键盘不能弹出的解 ... -
无法上传so文件到svn上
2015-05-25 16:48 916Window-->Team-->Ignored R ... -
Android 文件下载与解压缩
2015-03-20 18:20 389转载:http://blog.csdn.net/hopehe8 ... -
Cocos2dx与Android进行交叉编译的大概步骤
2015-02-06 17:22 1164cocos2d交叉编译配置: 1.下载cygwin 64位ex ... -
博客链接
2014-11-26 16:01 01.好文章博客:http://blog.csdn.net/xi ... -
android一些基础功能汇总
2014-11-03 10:49 7731.Android开发 给图片加边框 http://www. ... -
创建文件夹和文件
2014-10-22 15:15 729String commonPath = Environment ... -
Android 线程的使用(传递多个参数)
2014-08-06 11:08 21831.Thread new Thread(new Runnabl ... -
cocos2dx 内存管理
2014-08-04 18:18 594cocos2dx 内存管理 转载自:http://blog. ... -
android读取图片
2014-07-25 11:56 1026[size=large]一:读取res中的图片 //读取本地r ... -
Android ListView里设置默认Item的背景颜色
2014-07-23 11:51 859<?xml version="1.0" ... -
以某一点旋转(RotateAnimation)
2014-06-20 12:07 1793//自适应屏幕大小 webview.getSetting ... -
popWindow
2014-05-23 18:07 420popWindow -
自定义跑马灯
2014-05-23 16:46 592自定义跑马灯 -
WebView的使用总结
2014-05-05 12:09 682//自适应屏幕大小 webview.getSettings ... -
android 动态设置布局
2014-03-26 11:03 9841.动态设置RelativeLayout的布局 // 根据 ... -
android移动开发的很好的功能的网页
2014-03-19 18:15 691android经典DEMO http://blog.csdn ... -
android Uri获取真实路径转换成File的方法
2014-02-14 16:23 2038有的时候要将android uri如content://me ...
相关推荐
Excel全自动生成二维码插件,全自动生成二维码,就像公式一样自动更新。 企业中产品出库前通常需要在包装箱上贴上标签,标签上需要有二维码或者条形码从而方便对方快速入库(扫码即可识别箱子中的产品品名、型号、...
网页自动生成二维码,感谢http://www.admin5.net/thread-9795108-1-1.html的作者 (改jquery.qrcode.min.js:”{width:150,height:150,typeNumber:4,
STM32单片机根据字符串自动生成二维码并显示到oled屏幕上,二维码可正显可反显,可随意显示到想要显示的区域,只需要调用显示函数时输入想要的参数即可,及其方便。可根据屏幕大小自动放大到最佳大小。已验证通过,...
XPosed微信自动生成二维码 本篇文章将详细介绍如何破解微信自动生成二维码的过程,包括寻找突破口、分析页面逻辑、寻找生成二维码的方法等步骤。 一、寻找突破口 在破解支付宝自动生成付款二维码的基础上,我们...
【自动生成二维码技术详解】 二维码(Quick Response Code)是一种二维条形码,它能够存储大量信息,如文本、网址、联系人信息等,并且可以通过扫描快速读取。在信息化时代,二维码的应用越来越广泛,尤其在网页、...
在现代的Web开发中,将网页自动生成二维码是一项实用的功能,它使得用户可以通过手机轻松扫描二维码,快速访问网页,尤其适用于移动设备上的分享和推广。本文将深入探讨这个主题,介绍如何利用Java、JSP以及HTML来...
STM32单片机自动生成二维码程序是一种将数据编码为二维图形的技术,广泛应用于信息传递、支付、追踪等领域。在本项目中,我们将利用STM32微控制器与LCD显示屏配合,实现在硬件设备上实时生成并显示二维码。下面将...
3. **自动生成二维码**: 二维码是快速信息传递的一种方式,此系统能自动生成与证书相关的二维码。这可能使用了PHP的第三方库,如`phpqrcode`,通过编码证书信息生成二维码图片。用户扫描二维码即可快速访问证书详情...
本话题聚焦于通过JavaScript(js)实现链接自动生成二维码,无需调用外部API。 一、JavaScript与二维码生成原理 JavaScript是一种广泛使用的客户端脚本语言,允许开发者在网页中添加交互性功能。对于二维码生成,...
网页JS自动生成二维码是一种常见的前端技术,用于将各种数据(如文字、链接、字符串等)转化为可扫描的图像,方便用户快速访问或分享信息。在HTML页面中实现这个功能,主要依赖于JavaScript库,比如qrcode.js。接...
以下是一个关于如何在前端自动生成二维码的详细知识讲解: 1. **二维码基本原理**: 二维码(Quick Response Code)是一种二维条码,可以存储比传统一维条码更多的信息,如文字、网址、名片等。其工作原理是将数据...
Excel插件《自动生成二维码3.0》正是为了满足这种需求而设计的。这款插件允许用户快速、方便地将Excel工作表中的数据转化为二维码,以便于扫描设备读取和处理。下面将详细介绍这个插件的功能、操作流程以及它在实际...
本文将详细介绍“二维码生成器下载”以及其在网页自动生成二维码中的应用。 首先,二维码生成器的下载与使用非常简单。通常,这类软件或在线服务提供了用户友好的界面,只需要输入待转换的网址,系统会自动计算出...
在移动互联网时代,二维码已经成为信息传递、支付、广告等多种场景中的常见元素,因此,掌握如何使用二维码控件包来创建自动生成二维码的功能是开发者必备的技能之一。 一、二维码控件包的原理与应用 二维码...
8.支持自动生成二维码,全自动的,只要单元格中录入字符,按下回车时就自动生成二维码。 9.所有功能都自动GIF动画教材,一分钟就能学会使用。 10.支持32位和64位Excel,还支持WPS。 批量生成二维码与条形码 v...
在标题提到的“好用的自动生成二维码软件”中,我们可以理解这是一款能够帮助用户快速、方便地创建各种类型二维码的工具。 这类软件通常具备以下功能: 1. **多格式支持**:正如描述中提到,它可以生成包括网址、...
【自动生成二维码技术详解】 二维码(Quick Response Code)是一种二维条形码,它能够存储大量信息,如文本、网址、联系信息等,并且可以被快速读取。在现代信息技术中,二维码的应用广泛,尤其在移动互联网领域,...