• 大小: 43KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签: 二维码  源代码  

资源简介

二维码生成源代码

资源截图

代码片段和文件信息

/*
 * 嶌惉擔丗 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个文件信息

评论

共有 条评论