亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

qrcode解析出來是一長串數字??求解

package com.wk.qrcode;


import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;


import javax.imageio.ImageIO;


import jp.sourceforge.qrcode.QRCodeDecoder;


public class ReadQRCode {

public static void main(String[] args) throws IOException {

File file = new File("D://img.png");

BufferedImage bufferedImage = ImageIO.read(file);

QRCodeDecoder codeDecoder = new QRCodeDecoder();

String result = new String(codeDecoder.decode(new MyQRCodeImage(bufferedImage)));

System.out.println(result);

}

}



package com.wk.qrcode;


import java.awt.image.BufferedImage;


import jp.sourceforge.qrcode.data.QRCodeImage;


public class MyQRCodeImage implements QRCodeImage {


BufferedImage bufferedImage;

public MyQRCodeImage(BufferedImage bufferedImage) {

this.bufferedImage = bufferedImage;

}

@Override

public int getHeight() {

return bufferedImage.getHeight();

}


@Override

public int getPixel(int arg0, int arg1) {

return bufferedImage.getRGB(arg0, arg1);

}


@Override

public int getWidth() {

return bufferedImage.getWidth();

}


}




結果打印出來是:

19628671028299113646982254461625629964540660043172309990720326327708969541999728475429321813549061834182907580805898539388735496775103106854592411992889663010198072995495752784186816116372008403787635790855390000000000000000000000000000000000000000000000000000000000000000000000



正在回答

3 回答

不是編碼的問題,還是生成的圖片有問題,大家看那個雙重for循環gs.fillRect方法,大家如果i在外層循環,j在內層循環(個人習慣),應該gs.fillRect(i*3+pixoff,j*3+pixoff, 3, 3);,而不是gs.fillRect(j*3+pixoff,i*3+pixoff, 3, 3);j和i的位置問題,我生成的圖片掃描出來www.xianlaiwan.cn,但是解析確實一串數字,發現i和j寫反了

2 回復 有任何疑惑可以回復我~

同問,我也沒解決

1 回復 有任何疑惑可以回復我~
#1

不應有的淡定

不是編碼的問題,還是生成的圖片有問題,大家看那個雙重for循環gs.fillRect方法,大家如果i在外層循環,j在內層循環(個人習慣),應該gs.fillRect(i*3+pixoff,j*3+pixoff, 3, 3);,而不是gs.fillRect(j*3+pixoff,i*3+pixoff, 3, 3);j和i的位置問題,我生成的圖片掃描出來www.xianlaiwan.cn,但是解析確實一串數字,發現i和j寫反了
2016-11-07 回復 有任何疑惑可以回復我~

String result = new String(codeDecoder.decode(new MyQRCodeImage(bufferedImage)));

將這句代碼修改為

String result = new String(codeDecoder.decode(new MyQRCodeImage(bufferedImage)),"gb2312");


解析出來的內容沒有設置編碼格式

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java生成二維碼
  • 參與學習       84574    人
  • 解答問題       279    個

二維碼無處不在,自己動手用Java生成二維碼,三種生成方式任你選

進入課程

qrcode解析出來是一長串數字??求解

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號