最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

zxing解析二維碼拋出com.google.zxing.NotFoundException的解決過程

 更新時間:2026年01月12日 08:49:02   作者:strggle_bin  
作者分享了自己在開發(fā)過程中遇到二維碼生成和識別問題的解決方法,包括二維碼所有bit都是0、亂碼、優(yōu)化精度以及開啟PURE_BARCODE模式,希望能夠?qū)Υ蠹矣兴鶐椭?/div>

1.二維碼所有bit都是0

分析了一下,發(fā)現(xiàn)我在生成二維碼的時候白色像素填充使用的是透明色,這樣在顯示的時候因為背景是白色,所以看上去和用手機(jī)掃都沒有問題,但是自己代碼識別的時候就會把透明色識別為黑色,這樣就導(dǎo)致整個二維碼圖片全是黑色像素,所以zxing拋出com.google.zxing.NotFoundException異常。

2.亂碼

// 解碼設(shè)置編碼方式為:utf-8,
hints.put(DecodeHintType.CHARACTER_SET, CHARSET);

3.優(yōu)化精度

//優(yōu)化精度
hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);

4.開啟PURE_BARCODE模式。

(這是解決我的方案,帶圖片LOGO的解碼方案)

//復(fù)雜模式,開啟PURE_BARCODE模式
hints.put(DecodeHintType.PURE_BARCODE, Boolean.TRUE);
/**
 * 流圖片解碼
 * @param 	input
 * @return 	QRResult
 */
public static QRResult decode(InputStream input) {
	
	BufferedImage image;
	try {
		if (null == input) {
			return new QRResult("得到的文件不存在!",300);
		}
		image = ImageIO.read(input);
		LuminanceSource source = new BufferedImageLuminanceSource(image);
		BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
		
		Map<DecodeHintType,Object> hints = new LinkedHashMap<DecodeHintType,Object>();
		// 解碼設(shè)置編碼方式為:utf-8,
		hints.put(DecodeHintType.CHARACTER_SET, CHARSET);
		//優(yōu)化精度
		hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);
		//復(fù)雜模式,開啟PURE_BARCODE模式
		hints.put(DecodeHintType.PURE_BARCODE, Boolean.TRUE);
		Result result = new MultiFormatReader().decode(bitmap, hints);
		String txt = result.getText();
		return new QRResult("成功解碼!",200,txt);
	} catch (Exception e) {
		LoggerUtils.error(MatrixUtil.class,"解碼失敗。", e);
		return new QRResult("解碼失敗,請確認(rèn)的你二維碼是否正確,或者圖片有多個二維碼!",500);
	}
}
/**
 * 返回值處理
 * @author zhou-baicheng
 *
 */
public static class QRResult{
	public QRResult(String message,int status) {
		this.message = message;
		this.status = status;
		this.txt = "";
	}
	public QRResult(String message,int status,String txt) {
		this.message = message;
		this.status = status;
		this.txt = txt;
	}
	//解碼內(nèi)容
	private String txt;
	//返回的消息內(nèi)容
	private String message;
	//返回的狀態(tài)碼,200:成功,500:錯誤
	private int status ;
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	public int getStatus() {
		return status;
	}
	public void setStatus(int status) {
		this.status = status;
	}
	public String getTxt() {
		return txt;
	}
	public void setTxt(String txt) {
		this.txt = txt;
	}
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java超詳細(xì)講解如何生成隨機(jī)整數(shù)

    Java超詳細(xì)講解如何生成隨機(jī)整數(shù)

    在?Java?中,生成隨機(jī)數(shù)的場景有很多,所以本文我們就來盤點(diǎn)一下?幾種生成隨機(jī)數(shù)的方式,以及它們之間的區(qū)別和每種生成方式所對應(yīng)的場景
    2022-05-05
  • Java將中文轉(zhuǎn)化為拼音的簡單代碼示例

    Java將中文轉(zhuǎn)化為拼音的簡單代碼示例

    在我們使用手機(jī)通訊錄或各種APP的搜索功能時,既可以根據(jù)中文搜索,也可以根據(jù)拼音搜索,這種時候就使用到了中文轉(zhuǎn)拼音的功能了,下面這篇文章主要給大家介紹了關(guān)于Java將中文轉(zhuǎn)化為拼音的簡單代碼示例,需要的朋友可以參考下
    2024-03-03
  • SpringBoot2.x中management.security.enabled=false無效的解決

    SpringBoot2.x中management.security.enabled=false無效的解決

    這篇文章主要介紹了SpringBoot2.x中management.security.enabled=false無效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 深入詳解Maven中的settings.xml文件配置

    深入詳解Maven中的settings.xml文件配置

    settings.xml是Maven的核心配置文件之一,用于全局配置Maven的行為,本文將為大家詳細(xì)介紹一下settings.xml文件的配置元素和配置示例,希望對大家有所幫助
    2025-10-10
  • Java關(guān)鍵字之native詳解

    Java關(guān)鍵字之native詳解

    這篇文章主要為大家介紹了Java關(guān)鍵字之native,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Spring Aware標(biāo)記接口使用案例解析

    Spring Aware標(biāo)記接口使用案例解析

    這篇文章主要介紹了Spring Aware標(biāo)記接口使用案例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Java接收解析excel方法及注意事項說明

    Java接收解析excel方法及注意事項說明

    這篇文章主要介紹了Java接收解析excel方法及注意事項說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2026-05-05
  • 詳細(xì)講解Java輸入語句的寫法

    詳細(xì)講解Java輸入語句的寫法

    作為初步進(jìn)入java開發(fā)學(xué)習(xí)的小白來說,學(xué)習(xí)java語言一開始的時候得一步步的學(xué)習(xí),比如說java輸入語句應(yīng)該這么去實(shí)現(xiàn)呢,這篇文章主要給大家介紹了關(guān)于Java輸入語句的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • Eclipse手動導(dǎo)入DTD文件實(shí)現(xiàn)方法解析

    Eclipse手動導(dǎo)入DTD文件實(shí)現(xiàn)方法解析

    這篇文章主要介紹了Eclipse手動導(dǎo)入DTD文件實(shí)現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • springboot整合mybatis-plus 實(shí)現(xiàn)分頁查詢功能

    springboot整合mybatis-plus 實(shí)現(xiàn)分頁查詢功能

    這篇文章主要介紹了springboot整合mybatis-plus 實(shí)現(xiàn)分頁查詢功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09

最新評論

彭阳县| 滦南县| 赞皇县| 和顺县| 赞皇县| 静海县| 合肥市| 桑植县| 新昌县| 长乐市| 沁水县| 米脂县| 海南省| 汾西县| 佳木斯市| 连州市| 安庆市| 咸阳市| 华容县| 荔浦县| 东宁县| 三原县| 东港市| 阿鲁科尔沁旗| 罗田县| 禄丰县| 荣昌县| 五华县| 龙江县| 天气| 左权县| 惠安县| 横山县| 海丰县| 深州市| 佛山市| 绥宁县| 武宣县| 佛山市| 靖州| 潞西市|