This commit is contained in:
smiley
2016-02-29 21:43:37 +01:00
parent 7ba8ecdbe9
commit 9ff756b6c6
+25 -15
View File
@@ -544,27 +544,25 @@ class QRCode{
}
/**
* @throws \chillerlan\QRCode\QRCodeException
*
*/
protected function setPattern(){
$range1 = range(-1, 7);
$range2 = QRConst::PATTERN_POSITION[$this->typeNumber - 1];
protected function setupPositionProbePattern(){
$range = range(-1, 7);
// setupPositionProbePattern
foreach([[0, 0], [$this->pixelCount - 7, 0], [0, $this->pixelCount - 7]] as $grid){
$row = $grid[0];
$col = $grid[1];
$r = -1;
while($r < 8){
foreach($range1 as $c){
foreach($range as $c){
if($row + $r <= -1 || $this->pixelCount <= $row + $r || $col + $c <= -1 || $this->pixelCount <= $col + $c){
continue;
}
$this->matrix[$row + $r][$col + $c] =
(0 <= $r && $r <= 6 && ($c === 0 || $c === 6))
(0 <= $r && $r <= 6 && ($c === 0 || $c === 6))
|| (0 <= $c && $c <= 6 && ($r === 0 || $r === 6))
|| (2 <= $c && $c <= 4 && 2 <= $r && $r <= 4);
}
@@ -572,9 +570,16 @@ class QRCode{
}
}
// setupPositionAdjustPattern
foreach($range2 as $i => $posI){
foreach($range2 as $j => $posJ){
}
/**
*
*/
protected function setupPositionAdjustPattern(){
$range = QRConst::PATTERN_POSITION[$this->typeNumber - 1];
foreach($range as $i => $posI){
foreach($range as $j => $posJ){
if($this->matrix[$posI][$posJ] !== null){
continue;
}
@@ -583,11 +588,7 @@ class QRCode{
while($row < 3){
while($col < 3){
$this->matrix[$posI + $row][$posJ + $col] =
$row === -2
|| $row === 2
|| $col === -2
|| $col === 2
||($row === 0 && $col === 0);
$row === -2 || $row === 2 || $col === -2 || $col === 2 ||($row === 0 && $col === 0);
$col++;
}
$row++;
@@ -595,6 +596,15 @@ class QRCode{
}
}
}
/**
* @throws \chillerlan\QRCode\QRCodeException
*/
protected function setPattern(){
$this->setupPositionProbePattern();
$this->setupPositionAdjustPattern();
// setupTimingPattern
for($i = 8; $i < $this->pixelCount - 8; $i++){
if($this->matrix[$i][6] !== null){