smiley 10 лет назад
Родитель
Сommit
d94f149eac
1 измененных файлов с 27 добавлено и 16 удалено
  1. 27 16
      examples/custom.php

+ 27 - 16
examples/custom.php

@@ -4,25 +4,36 @@ require_once '../vendor/autoload.php';
 
 use chillerlan\QRCode\QRCode;
 use chillerlan\QRCode\QROptions;
-use chillerlan\QRCode\Output\QRString;
-use chillerlan\QRCode\Output\QRStringOptions;
+use chillerlan\QRCode\Output\QROutputBase;
+use chillerlan\QRCode\Output\QROutputInterface;
 
-$starttime = microtime(true);
 
-$qrOptions = new QROptions;
-$qrOptions->typeNumber = QRCode::TYPE_05;
-$qrOptions->errorCorrectLevel = QRCode::ERROR_CORRECT_LEVEL_M;
+/**
+ * Class MyCustomOutput
+ */
+class MyCustomOutput extends QROutputBase implements QROutputInterface{
+
+	/**
+	 * @return mixed
+	 * @throws \chillerlan\QRCode\Output\QRCodeOutputException
+	 */
+	public function dump(){
+
+		$output = '';
 
-$qrStringOptions = new QRStringOptions;
-$qrStringOptions->type = QRCode::OUTPUT_STRING_TEXT;
-$qrStringOptions->textDark  = '#';
-$qrStringOptions->textLight = ' ';
+		for($row = 0; $row < $this->pixelCount; $row++){
+			for($col = 0; $col < $this->pixelCount; $col++){
+				$output .= (string)(int)$this->matrix[$row][$col];
+			}
+		}
 
-// google authenticator
-// https://chart.googleapis.com/chart?chs=200x200&chld=M%7C0&cht=qr&chl=otpauth%3A%2F%2Ftotp%2Ftest%3Fsecret%3DB3JX4VCVJDVNXNZ5%26issuer%3Dchillerlan.net
-$qrcode = new QRCode('otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', new QRString($qrStringOptions), $qrOptions);
-echo '<pre>'.$qrcode->output().'</pre>';
+		return $output;
+	}
+
+}
+
+$starttime = microtime(true);
 
-echo '<pre>'.print_r($qrcode->getRawData(), true).'</pre>';
+echo (new QRCode('otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', new MyCustomOutput))->output();
 
-echo 'QRCode: '.round((microtime(true)-$starttime), 5).PHP_EOL;
+echo PHP_EOL.'QRCode: '.round((microtime(true)-$starttime), 5);