package com.tejia.lijin.app.util.picture;
|
|
import android.graphics.Bitmap;
|
|
import com.google.zxing.BinaryBitmap;
|
import com.google.zxing.MultiFormatReader;
|
import com.google.zxing.RGBLuminanceSource;
|
import com.google.zxing.Result;
|
import com.google.zxing.common.GlobalHistogramBinarizer;
|
import com.google.zxing.common.HybridBinarizer;
|
|
public class QrCodeUtil {
|
public static String scanBitmap(Bitmap bitmap) {
|
Result result = null;
|
RGBLuminanceSource source = null;
|
try {
|
int width = bitmap.getWidth();
|
int height = bitmap.getHeight();
|
int[] pixels = new int[width * height];
|
bitmap.getPixels(pixels, 0, width, 0, 0, width, height);
|
source = new RGBLuminanceSource(width, height, pixels);
|
result = new MultiFormatReader().decode(new BinaryBitmap(new HybridBinarizer(source)));
|
return result.getText();
|
} catch (Exception e) {
|
e.printStackTrace();
|
if (source != null) {
|
try {
|
result = new MultiFormatReader().decode(new BinaryBitmap(new GlobalHistogramBinarizer(source)));
|
return result.getText();
|
} catch (Throwable e2) {
|
e2.printStackTrace();
|
}
|
}
|
return null;
|
}
|
|
}
|
}
|