Просмотр исходного кода

:octocat: return QRMatrix created from result data

smiley 3 лет назад
Родитель
Сommit
4258966a8d
1 измененных файлов с 13 добавлено и 1 удалено
  1. 13 1
      src/Decoder/DecoderResult.php

+ 13 - 1
src/Decoder/DecoderResult.php

@@ -11,7 +11,8 @@
 
 namespace chillerlan\QRCode\Decoder;
 
-use chillerlan\QRCode\Common\{EccLevel, MaskPattern, Version};
+use chillerlan\QRCode\Data\QRMatrix;
+use chillerlan\QRCode\Common\{BitBuffer, EccLevel, MaskPattern, Version};
 use function property_exists;
 
 /**
@@ -83,4 +84,15 @@ final class DecoderResult{
 		return $this->structuredAppendParity >= 0 && $this->structuredAppendSequence >= 0;
 	}
 
+	/**
+	 * Returns a QRMatrix instance with thesettings and data of the reader result
+	 */
+	public function getMatrix():QRMatrix{
+		return (new QRMatrix($this->version, $this->eccLevel, $this->maskPattern))
+			->initFunctionalPatterns()
+			->writeCodewords(new BitBuffer($this->rawBytes))
+			->mask()
+		;
+	}
+
 }