From 82ec9fe6f75f3866da0b300edda4f44e36839b2a Mon Sep 17 00:00:00 2001 From: Jenly Date: Fri, 29 Jan 2021 10:15:19 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E7=A0=81=E6=97=B6=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E4=BC=A0Bitmap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/king/zxing/util/CodeUtils.java | 53 ++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/lib/src/main/java/com/king/zxing/util/CodeUtils.java b/lib/src/main/java/com/king/zxing/util/CodeUtils.java index dafc87f..040b8bf 100644 --- a/lib/src/main/java/com/king/zxing/util/CodeUtils.java +++ b/lib/src/main/java/com/king/zxing/util/CodeUtils.java @@ -296,6 +296,29 @@ public final class CodeUtils { return null; } + /** + * 解析一维码/二维码图片 + * @param bitmap 解析的图片 + * @return + */ + public static String parseCode(Bitmap bitmap){ + return parseCode(bitmap,DecodeFormatManager.ALL_HINTS); + } + + /** + * 解析一维码/二维码图片 + * @param bitmap 解析的图片 + * @param hints 解析编码类型 + * @return + */ + public static String parseCode(Bitmap bitmap,Map hints){ + Result result = parseCodeResult(bitmap,hints); + if(result != null){ + return result.getText(); + } + return null; + } + /** * 解析一维码/二维码图片 * @param bitmapPath @@ -315,11 +338,39 @@ public final class CodeUtils { * @return */ public static Result parseCodeResult(String bitmapPath,int reqWidth,int reqHeight, Map hints){ + return parseCodeResult(compressBitmap(bitmapPath,reqWidth,reqHeight),hints); + } + + /** + * 解析一维码/二维码图片 + * @param bitmap 解析的图片 + * @return + */ + public static Result parseCodeResult(Bitmap bitmap){ + return parseCodeResult(getRGBLuminanceSource(bitmap),DecodeFormatManager.ALL_HINTS); + } + + /** + * 解析一维码/二维码图片 + * @param bitmap 解析的图片 + * @param hints 解析编码类型 + * @return + */ + public static Result parseCodeResult(Bitmap bitmap,Map hints){ + return parseCodeResult(getRGBLuminanceSource(bitmap),hints); + } + + /** + * 解析一维码/二维码图片 + * @param source + * @param hints + * @return + */ + public static Result parseCodeResult(LuminanceSource source, Map hints){ Result result = null; MultiFormatReader reader = new MultiFormatReader(); try{ reader.setHints(hints); - RGBLuminanceSource source = getRGBLuminanceSource(compressBitmap(bitmapPath,reqWidth,reqHeight)); if (source != null) { result = decodeInternal(reader,source); if(result == null){