資源簡介
二維碼生成源代碼

代碼片段和文件信息
/*
?*?嶌惉擔(dān)丗?2004/09/12
?*
?*?TODO?偙偺惗惉偝傟偨僼傽僀儖偺僥儞僾儗乕僩傪曄峏偡傞偵偼師傪嶲徠丅
?*?僂傿儞僪僂?亜?愝掕?亜?Java?亜?僐乕僪丒僗僞僀儖?亜?僐乕僪丒僥儞僾儗乕僩
?*/
package?jp.sourceforge.qrcode.codec;
import?java.util.Vector;
import?jp.sourceforge.qrcode.codec.data.QRCodeSymbol;
import?jp.sourceforge.qrcode.codec.ecc.BCH15_5;
import?jp.sourceforge.qrcode.codec.ecc.ReedSolomon;
import?jp.sourceforge.qrcode.codec.exception.AlignmentPatternEdgeNotFoundException;
import?jp.sourceforge.qrcode.codec.exception.DecodingFailedException;
import?jp.sourceforge.qrcode.codec.exception.FinderPatternNotFoundException;
import?jp.sourceforge.qrcode.codec.exception.IllegalDataBlockException;
import?jp.sourceforge.qrcode.codec.exception.SymbolNotFoundException;
import?jp.sourceforge.qrcode.codec.exception.VersionInformationException;
import?jp.sourceforge.qrcode.codec.reader.QRCodeDataBlockReader;
import?jp.sourceforge.qrcode.codec.reader.QRCodeImageReader;
import?jp.sourceforge.qrcode.codec.util.DebugCanvas;
/**
?*?@author?Owner
?*
?*?TODO?偙偺惗惉偝傟偨宆僐儊儞僩偺僥儞僾儗乕僩傪曄峏偡傞偵偼師傪嶲徠丅
?*?僂傿儞僪僂?亜?愝掕?亜?Java?亜?僐乕僪丒僗僞僀儖?亜?僐乕僪丒僥儞僾儗乕僩
?*/
public?class?QRCodeDecoder?{
//QRCodeImageReader?reader;
int?internalScale;
QRCodeSymbol?symbol;
DebugCanvas?canvas;
//僨僐乕僟杮懱
public?QRCodeDecoder()?{
internalScale?=?2;
canvas?=?DebugCanvas.getCanvas();
}
public?String?decode(int[][]?image)?throws?DecodingFailedException{
canvas.println(“Decoding?started.“);
try?{
symbol?=?getQRCodeSymbol(image);
}?catch?(SymbolNotFoundException?e)?{
e.printStackTrace();
throw?new?DecodingFailedException();
}
canvas.println(“Created?QRCode?symbol.“);
//int?ratio?=?canvas.getWidth()?/?symbol.getWidth();
//canvas.drawMatrix(symbol??ratio);
canvas.println(“Reading?symbol.“);
boolean[]?formatInformation?=?getFormatInformation(symbol);
symbol.setFormatInformation(formatInformation);
canvas.println(“Version:?“?+?symbol.getVersionReference());
String?maskPattern?=?Integer.toString(symbol.getMaskPatternReferer()?2);
int?length?=?maskPattern.length();
for?(int?i?=?0;?i?3?-?length;?i++)
maskPattern?=?“0“?+?maskPattern;
canvas.println(“Mask?pattern:?“?+?maskPattern);
canvas.println(“Unmasking.“);
unmask(symbol);
//canvas.drawMatrix(symbol?4);
int[]?blocks?=?getBlocks(symbol);
canvas.println(“Correcting?data?errors.“);
int[]?dataBlocks?=?getCorrectedDataBlocks(blocks);
String?decodedString?=?““;
try?{
decodedString?=?getDecodedString(dataBlocks?symbol.getVersion());
}?catch?(IllegalDataBlockException?e)?{
e.printStackTrace();
throw?new?DecodingFailedException();
}
// return?new?QRCodeContent(decodedString);
canvas.println(“Decoding?finished.“);
return?decodedString;
}
boolean[][]?processImage(int[][]?image)?{
imageToGrayScale(image);
boolean[][]?bitmap?=?grayScaleToBitmap(image);
//boolean[][]?bitmapEx?=?extendBitmap(bitmap?internalScale);
return?bitmap;
}
void?imageToGraySca
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-04-21?22:18??QRcode二維碼生成源代碼\
?????文件????????1470??2011-04-26?23:04??QRcode二維碼生成源代碼\365codes.txt
?????目錄???????????0??2013-04-21?22:18??QRcode二維碼生成源代碼\codec\
?????文件????????1470??2011-04-26?23:04??QRcode二維碼生成源代碼\codec\365codes.txt
?????文件???????20099??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\QRCodeDecoder.java
?????文件??????????75??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\QRCodeEncoder.java
?????目錄???????????0??2013-04-21?22:18??QRcode二維碼生成源代碼\codec\data\
?????文件????????1254??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\data\Buffer.java
?????文件????????6050??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\data\QRCodeSymbol.java
?????目錄???????????0??2013-04-21?22:18??QRcode二維碼生成源代碼\codec\ecc\
?????文件????????7392??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\ecc\BCH15_5.java
?????文件????????8871??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\ecc\ReedSolomon.java
?????目錄???????????0??2013-04-21?22:18??QRcode二維碼生成源代碼\codec\exception\
?????文件?????????140??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\exception\AlignmentPatternEdgeNotFoundException.java
?????文件?????????123??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\exception\DecodingFailedException.java
?????文件?????????118??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\exception\FinderPatternNotFoundException.java
?????文件?????????128??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\exception\IllegalDataBlockException.java
?????文件?????????143??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\exception\InvalidVersionInformationException.java
?????文件?????????126??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\exception\SymbolNotFoundException.java
?????文件?????????133??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\exception\UnsupportedVersionException.java
?????文件?????????130??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\exception\VersionInformationException.java
?????目錄???????????0??2013-04-21?22:18??QRcode二維碼生成源代碼\codec\geom\
?????文件????????1577??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\geom\Axis.java
?????文件????????3568??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\geom\Line.java
?????文件????????1424??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\geom\Point.java
?????目錄???????????0??2013-04-21?22:18??QRcode二維碼生成源代碼\codec\reader\
?????文件????????9714??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\reader\QRCodeDataBlockReader.java
?????文件???????30554??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\reader\QRCodeImageReader.java
?????目錄???????????0??2013-04-21?22:18??QRcode二維碼生成源代碼\codec\reader\pattern\
?????文件????????6828??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\reader\pattern\AlignmentPattern.java
?????文件???????20487??2005-08-21?22:40??QRcode二維碼生成源代碼\codec\reader\pattern\FinderPattern.java
............此處省略7個文件信息
評論
共有 條評論