001 | package com.google.zxing.client.android; |
003 | import java.util.Hashtable;
|
005 | import android.app.Activity;
|
006 | import android.graphics.Bitmap;
|
007 | import android.graphics.drawable.BitmapDrawable;
|
008 | import android.os.Bundle;
|
009 | import android.util.Log;
|
010 | import android.view.View;
|
011 | import android.view.View.OnClickListener;
|
012 | import android.widget.Button;
|
013 | import android.widget.EditText;
|
014 | import android.widget.ImageView;
|
015 | import android.widget.TextView;
|
017 | import com.google.zxing.BarcodeFormat;
|
018 | import com.google.zxing.BinaryBitmap;
|
019 | import com.google.zxing.ChecksumException;
|
020 | import com.google.zxing.EncodeHintType;
|
021 | import com.google.zxing.FormatException;
|
022 | import com.google.zxing.NotFoundException;
|
023 | import com.google.zxing.Result;
|
024 | import com.google.zxing.WriterException;
|
025 | import com.google.zxing.common.BitMatrix;
|
026 | import com.google.zxing.common.HybridBinarizer;
|
027 | import com.google.zxing.qrcode.QRCodeReader;
|
028 | import com.google.zxing.qrcode.QRCodeWriter;
|
029 | import com.test.RGBLuminanceSource;
|
031 | public class TestActivity extends
Activity{ |
032 | private
static final StringTAG=
"TestActivity" ; |
035 | private
final static StringpFormat=
"png" ; |
039 | protected
void onCreate(BundlesavedInstanceState){ |
040 | super .onCreate(savedInstanceState); |
041 | setContentView(R.layout.testactivity); |
043 | Buttonbtn2=(Button)findViewById(R.id.Button03); |
044 | btn2.setOnClickListener( new
OnClickListener(){ |
047 | public
void onClick(Viewview){ |
048 | ImageViewimgView=(ImageView)findViewById(R.id.ImageView01); |
049 | QRCodeReaderreader=
new QRCodeReader(); |
050 | int
width= 200 ,height=
200 ; |
051 | QRCodeWriterwriter=
new QRCodeWriter(); |
053 | EditTextedit=(EditText)findViewById(R.id.EditText01); |
055 | Log.i(TAG, "编辑框中的内容:" +edit.getText().toString()); |
056 | //System.out.println(edit.getText().toString()); |
057 | if (edit.getText().toString().length()< 1 ) |
062 | BitMatrixmartix=writer.encode(edit.getText().toString(),BarcodeFormat.QR_CODE,width,height); |
063 | System.out.println( "w:" +martix.width+ "h:" +martix.height); |
064 | StringimageFormat=
"png" ; |
065 | Hashtable<EncodeHintType,String>hints=
new Hashtable<EncodeHintType,String>(); |
066 | hints.put(EncodeHintType.CHARACTER_SET, "utf-8" );
|
067 | BitMatrixbitMatrix=
new QRCodeWriter().encode(edit.getText().toString(),BarcodeFormat.QR_CODE,width,height,hints); |
068 | int []pixels=
new int [width*height]; |
069 | for
( int y=
0 ;y<height;y++){ |
070 | for
( int x=
0 ;x<width;x++){ |
071 | if (bitMatrix.get(x,y)){ |
072 | pixels[y*width+x]=
0xff000000 ;
|
074 | pixels[y*width+x]=
0xffffffff ;
|
080 | Bitmapbitmap=Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888); |
082 | bitmap.setPixels(pixels, 0 ,width,
0 , 0 ,width,height); |
083 | imgView.setImageBitmap(bitmap); |
084 | //RGBLuminanceSourcesource=newRGBLuminanceSource(bitmap); |
085 | //LuminanceSourcesource=newRGBLuminanceSource(path); |
086 | //BinaryBitmapbitmap1=newBinaryBitmap(newHybridBinarizer(source)); |
087 | //QRCodeReaderreader2=newQRCodeReader(); |
088 | //Resultresult=reader2.decode(bitmap1); |
089 | //System.out.println("res"+result.getText()); |
091 | } catch (WriterExceptione){ |
092 | //TODOAuto-generatedcatchblock
|
098 | Buttonbtn1=(Button)findViewById(R.id.Button01); |
099 | btn1.setOnClickListener( new
OnClickListener(){ |
102 | public
void onClick(Viewv){ |
103 | //TODOAuto-generatedmethodstub
|
104 | ImageViewimgView=(ImageView)findViewById(R.id.ImageView01); |
105 | Hashtable<EncodeHintType,String>hints=
new Hashtable<EncodeHintType,String>(); |
106 | hints.put(EncodeHintType.CHARACTER_SET, "utf-8" );
|
107 | Bitmapbitmap=((BitmapDrawable)imgView.getDrawable()).getBitmap(); |
108 | RGBLuminanceSourcesource=
new RGBLuminanceSource(bitmap); |
109 | //LuminanceSourcesource=newRGBLuminanceSource(path); |
110 | BinaryBitmapbitmap1=
new BinaryBitmap( new
HybridBinarizer(source)); |
111 | QRCodeReaderreader2=
new QRCodeReader(); |
114 | result=reader2.decode(bitmap1,hints); |
115 | System.out.println( "res" +result.getText()); |
116 | TextViewtext=(TextView)findViewById(R.id.TextView01); |
117 | text.setText(result.getText()); |
118 | } catch (NotFoundExceptione){ |
119 | //TODOAuto-generatedcatchblock
|
121 | } catch (ChecksumExceptione){ |
122 | //TODOAuto-generatedcatchblock
|
124 | } catch (FormatExceptione){ |
125 | //TODOAuto-generatedcatchblock
|
128 | //System.out.println("res"+result.getText()); |
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理