⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qrcodeimagereader.java

📁 qrcode的java开源版本
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
		axis.setOrigin(baseLineY.getP1());		baseLineY.setP1(axis.translate(-3, -3));		axis.setModulePitch(modulePitch.left);		axis.setOrigin(baseLineY.getP2());		baseLineY.setP2(axis.translate(3, -3));				//baseLineX.translate(1,1);		//baseLineY.translate(1,1);		samplingGrid.initGrid(0, 0, sqrtNumAreaModules, sqrtNumAreaModules);		for (int i = 0; i < sqrtNumAreaModules; i++) {						gridLineX = new Line(baseLineX.getP1(), baseLineX.getP2());						axis.setOrigin(gridLineX.getP1());			axis.setModulePitch(modulePitch.top);			gridLineX.setP1(axis.translate(i,0));			axis.setOrigin(gridLineX.getP2());			axis.setModulePitch(modulePitch.top);			gridLineX.setP2(axis.translate(i,0));						gridLineY = new Line(baseLineY.getP1(), baseLineY.getP2());			axis.setOrigin(gridLineY.getP1());			axis.setModulePitch(modulePitch.left);			gridLineY.setP1(axis.translate(0,i));			axis.setOrigin(gridLineY.getP2());			axis.setModulePitch(modulePitch.left);			gridLineY.setP2(axis.translate(0,i));			samplingGrid.setXLine(0,0,i,gridLineX);			samplingGrid.setYLine(0,0,i,gridLineY);		}		for (int ay = 0; ay < samplingGrid.getHeight(); ay++) {			for (int ax = 0; ax < samplingGrid.getWidth();ax++) {				canvas.drawLines(samplingGrid.getXLines(ax,ay), Color.BLUE);				canvas.drawLines(samplingGrid.getYLines(ax,ay), Color.BLUE);			}		}		return samplingGrid;	}*/		//sampllingGrid[areaX][areaY][direction(x=0,y=1)][EachLines]	/*	SamplingGrid getSamplingGrid2_6(FinderPattern finderPattern, AlignmentPattern alignmentPattern) {		Point centers[][] = alignmentPattern.getCenter();		centers[0][0] = finderPattern.getCenter(FinderPattern.UL);		centers[1][0] = finderPattern.getCenter(FinderPattern.UR);		centers[0][1] = finderPattern.getCenter(FinderPattern.DL);		int sqrtNumModules = finderPattern.getSqrtNumModules(); //一辺当たりのモジュール数を得る		SamplingGrid samplingGrid = new SamplingGrid(1);		Line baseLineX, baseLineY, gridLineX, gridLineY;				int logicalDistance = alignmentPattern.getLogicalDistance();		Axis axis = new Axis(finderPattern.getAngle(), finderPattern.getModuleSize());			ModulePitch modulePitch = new ModulePitch(); //top left bottom rightの順に格納		modulePitch.top = getAreaModulePitch(centers[0][0], centers[1][0], logicalDistance + 6);		modulePitch.left = getAreaModulePitch(centers[0][0], centers[0][1], logicalDistance + 6);		axis.setModulePitch(modulePitch.top);		axis.setOrigin(centers[0][1]);		modulePitch.bottom = getAreaModulePitch(axis.translate(0, -3), centers[1][1], logicalDistance + 3);		axis.setModulePitch(modulePitch.left);		axis.setOrigin(centers[1][0]);		modulePitch.right = getAreaModulePitch(axis.translate(-3, 0), centers[1][1], logicalDistance + 3);		//X軸に垂直の基線(一般に縦)		baseLineX = new Line();		baseLineY = new Line();				axis.setOrigin(centers[0][0]);		modulePitch.top = getAreaModulePitch(centers[0][0], centers[1][0], logicalDistance + 6);		modulePitch.left = getAreaModulePitch(centers[0][0], centers[0][1], logicalDistance + 6);		axis.setModulePitch(modulePitch.top);		axis.setOrigin(centers[0][1]);		modulePitch.bottom = getAreaModulePitch(axis.translate(0,-3), centers[1][1], logicalDistance + 3);		axis.setModulePitch(modulePitch.left);		axis.setOrigin(centers[1][0]);		modulePitch.right = getAreaModulePitch(axis.translate(-3,0), centers[1][1], logicalDistance + 3);						axis.setOrigin(centers[0][0]);		axis.setModulePitch(modulePitch.top);		baseLineX.setP1(axis.translate(-3,-3));		axis.setModulePitch(modulePitch.left);		baseLineY.setP1(axis.translate(-3,-3));				axis.setOrigin(centers[0][1]);		axis.setModulePitch(modulePitch.bottom);		baseLineX.setP2(axis.translate(-3,3));				axis.setOrigin(centers[1][0]);		axis.setModulePitch(modulePitch.right);		baseLineY.setP2(axis.translate(3,-3));				baseLineX.translate(1,1);		baseLineY.translate(1,1);				samplingGrid.initGrid(0, 0, sqrtNumModules, sqrtNumModules);		for (int i = 0; i < sqrtNumModules; i++) {			gridLineX = new Line(baseLineX.getP1(), baseLineX.getP2());			axis.setOrigin(gridLineX.getP1());			axis.setModulePitch(modulePitch.top);			gridLineX.setP1(axis.translate(i,0));			axis.setOrigin(gridLineX.getP2());			axis.setModulePitch(modulePitch.bottom);			gridLineX.setP2(axis.translate(i,0));						gridLineY = new Line(baseLineY.getP1(), baseLineY.getP2());						axis.setOrigin(gridLineY.getP1());			axis.setModulePitch(modulePitch.left);			gridLineY.setP1(axis.translate(0,i));			axis.setOrigin(gridLineY.getP2());			axis.setModulePitch(modulePitch.right);			gridLineY.setP2(axis.translate(0,i));						samplingGrid.setXLine(0,0,i,gridLineX);			samplingGrid.setYLine(0,0,i,gridLineY);					}				for (int ay = 0; ay < samplingGrid.getHeight(); ay++) {			for (int ax = 0; ax < samplingGrid.getWidth();ax++) {				canvas.drawLines(samplingGrid.getXLines(ax,ay), java.awt.Color.BLUE);				canvas.drawLines(samplingGrid.getYLines(ax,ay), java.awt.Color.BLUE);			}		}		return samplingGrid;	}			//for version 7-13	SamplingGrid getSamplingGrid7_13(FinderPattern finderPattern, AlignmentPattern alignmentPattern) {		Point centers[][] = alignmentPattern.getCenter();		centers[0][0] = finderPattern.getCenter(FinderPattern.UL);		centers[2][0] = finderPattern.getCenter(FinderPattern.UR);		centers[0][2] = finderPattern.getCenter(FinderPattern.DL);		int sqrtNumModules = finderPattern.getSqrtNumModules(); //一辺当たりのモジュール数を得る		int sqrtNumArea = 2;		int sqrtNumAreaModules = sqrtNumModules / sqrtNumArea;		sqrtNumAreaModules++;		SamplingGrid samplingGrid = new SamplingGrid(sqrtNumArea);		Line baseLineX, baseLineY, gridLineX, gridLineY;		int logicalDistance = alignmentPattern.getLogicalDistance();		Axis axis = new Axis(finderPattern.getAngle(), finderPattern.getModuleSize());		ModulePitch modulePitch;		for (int ay = 0; ay < sqrtNumArea; ay++) {			for (int ax = 0; ax < sqrtNumArea; ax++) {				modulePitch = new ModulePitch(); //top left bottom rightの順に格納				baseLineX = new Line();				baseLineY = new Line();				axis.setModulePitch(finderPattern.getModuleSize());				if (ax == 0 && ay == 0) {					axis.setOrigin(centers[0][0]);					modulePitch.top = getAreaModulePitch(axis.translate(0,3), centers[1][0], logicalDistance + 3);					modulePitch.left = getAreaModulePitch(axis.translate(3,0), centers[0][1], logicalDistance + 3);					axis.setModulePitch(modulePitch.top);					modulePitch.bottom = getAreaModulePitch(centers[0][1], centers[1][1], logicalDistance);					axis.setModulePitch(modulePitch.left);					modulePitch.right = getAreaModulePitch(centers[1][0], centers[1][1], logicalDistance);										axis.setModulePitch(modulePitch.top);					baseLineX.setP1(axis.translate(-3,-3));					axis.setModulePitch(modulePitch.left);					baseLineY.setP1(axis.translate(-3,-3));										axis.setOrigin(centers[0][1]);					axis.setModulePitch(modulePitch.bottom);					baseLineX.setP2(axis.translate(-6,0));										axis.setOrigin(centers[1][0]);					axis.setModulePitch(modulePitch.right);					baseLineY.setP2(axis.translate(0,-6));				}				else if (ax == 1 && ay == 0) {					axis.setOrigin(centers[1][0]);					modulePitch.top = getAreaModulePitch(axis.translate(0,-3), centers[2][0], logicalDistance + 3);					modulePitch.left = getAreaModulePitch(centers[1][0], centers[1][1], logicalDistance);					axis.setModulePitch(modulePitch.top);					modulePitch.bottom = getAreaModulePitch(centers[1][1], centers[2][1], logicalDistance);					axis.setModulePitch(modulePitch.left);					axis.setOrigin(centers[2][0]);					modulePitch.right = getAreaModulePitch(axis.translate(-3,0), centers[2][1], logicalDistance + 3);										axis.setOrigin(centers[1][0]);					axis.setModulePitch(modulePitch.left);					baseLineX.setP1(axis.translate(0,-6));					baseLineY.setP1(axis.translate(0,-6));										baseLineX.setP2(centers[1][1]);										axis.setOrigin(centers[2][0]);					axis.setModulePitch(modulePitch.right);					baseLineY.setP2(axis.translate(3,-3));				}				else if (ax == 0 && ay == 1) {					modulePitch.top = getAreaModulePitch(centers[0][1], centers[1][1], logicalDistance);					axis.setOrigin(centers[0][2]);					modulePitch.left = getAreaModulePitch(centers[0][1], axis.translate(3,0), logicalDistance + 3);					axis.setModulePitch(modulePitch.top);					modulePitch.bottom = getAreaModulePitch(axis.translate(0,-3), centers[1][2], logicalDistance + 3);					axis.setModulePitch(modulePitch.bottom);					modulePitch.right = getAreaModulePitch(centers[1][1], centers[1][2], logicalDistance);										axis.setOrigin(centers[0][1]);					axis.setModulePitch(modulePitch.top);					baseLineX.setP1(axis.translate(-6,0));					baseLineY.setP1(axis.translate(-6,0));										axis.setOrigin(centers[0][2]);					axis.setModulePitch(modulePitch.bottom);					baseLineX.setP2(axis.translate(-3, 3));										baseLineY.setP2(centers[1][1]);									}				else if (ax == 1 && ay == 1) {					modulePitch.top = getAreaModulePitch(centers[1][1], centers[2][1], logicalDistance);					modulePitch.left = getAreaModulePitch(centers[1][1], centers[1][2], logicalDistance);					modulePitch.bottom = getAreaModulePitch(centers[1][2], centers[2][2], logicalDistance);					modulePitch.right = getAreaModulePitch(centers[2][1], centers[2][2], logicalDistance);										baseLineX.setP1(centers[1][1]);					baseLineY.setP1(centers[1][1]);					axis.setOrigin(centers[1][2]);					axis.setModulePitch(modulePitch.left);					baseLineX.setP2(axis.translate(0,6));					axis.setOrigin(centers[2][1]);					axis.setModulePitch(modulePitch.top);					baseLineY.setP2(axis.translate(6,0));				}								samplingGrid.initGrid(ax,ay, sqrtNumAreaModules, sqrtNumAreaModules);						for (int i = 0; i < sqrtNumAreaModules; i++) {					gridLineX = new Line(baseLineX.getP1(), baseLineX.getP2());					axis.setOrigin(gridLineX.getP1());					axis.setModulePitch(modulePitch.top);					gridLineX.setP1(axis.translate(i,0));					axis.setOrigin(gridLineX.getP2());					axis.setModulePitch(modulePitch.bottom);					gridLineX.setP2(axis.translate(i,0));											gridLineY = new Line(baseLineY.getP1(), baseLineY.getP2());										axis.setOrigin(gridLineY.getP1());					axis.setModulePitch(modulePitch.left);					gridLineY.setP1(axis.translate(0,i));					axis.setOrigin(gridLineY.getP2());					axis.setModulePitch(modulePitch.right);					gridLineY.setP2(axis.translate(0,i));										samplingGrid.setXLine(ax,ay,i,gridLineX);					samplingGrid.setYLine(ax,ay,i,gridLineY);									}			}		}		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -