codemasher 5 лет назад
Родитель
Сommit
d8bf297e68
2 измененных файлов с 27 добавлено и 22 удалено
  1. 25 20
      examples/QRImageWithText.php
  2. 2 2
      examples/imageWithLogo.php

+ 25 - 20
examples/QRImageWithText.php

@@ -3,7 +3,8 @@
  * Class QRImageWithText
  * Class QRImageWithText
  *
  *
  * example for additional text
  * example for additional text
- * @link https://github.com/chillerlan/php-qrcode/issues/35
+ *
+ * @link         https://github.com/chillerlan/php-qrcode/issues/35
  *
  *
  * @filesource   QRImageWithText.php
  * @filesource   QRImageWithText.php
  * @created      22.06.2019
  * @created      22.06.2019
@@ -11,11 +12,15 @@
  * @author       smiley <smiley@chillerlan.net>
  * @author       smiley <smiley@chillerlan.net>
  * @copyright    2019 smiley
  * @copyright    2019 smiley
  * @license      MIT
  * @license      MIT
+ *
+ * @noinspection PhpComposerExtensionStubsInspection
  */
  */
 
 
 namespace chillerlan\QRCodeExamples;
 namespace chillerlan\QRCodeExamples;
 
 
 use chillerlan\QRCode\Output\QRImage;
 use chillerlan\QRCode\Output\QRImage;
+use function base64_encode, imagechar, imagecolorallocate, imagecolortransparent, imagecopymerge, imagecreatetruecolor,
+	imagedestroy, imagefilledrectangle, imagefontwidth, in_array, round, str_split, strlen;
 
 
 class QRImageWithText extends QRImage{
 class QRImageWithText extends QRImage{
 
 
@@ -26,14 +31,14 @@ class QRImageWithText extends QRImage{
 	 * @return string
 	 * @return string
 	 */
 	 */
 	public function dump(string $file = null, string $text = null):string{
 	public function dump(string $file = null, string $text = null):string{
-		$this->image = \imagecreatetruecolor($this->length, $this->length);
-		$background  = \imagecolorallocate($this->image, ...$this->options->imageTransparencyBG);
+		$this->image = imagecreatetruecolor($this->length, $this->length);
+		$background  = imagecolorallocate($this->image, ...$this->options->imageTransparencyBG);
 
 
-		if((bool)$this->options->imageTransparent && \in_array($this->options->outputType, $this::TRANSPARENCY_TYPES, true)){
-			\imagecolortransparent($this->image, $background);
+		if((bool)$this->options->imageTransparent && in_array($this->options->outputType, $this::TRANSPARENCY_TYPES, true)){
+			imagecolortransparent($this->image, $background);
 		}
 		}
 
 
-		\imagefilledrectangle($this->image, 0, 0, $this->length, $this->length, $background);
+		imagefilledrectangle($this->image, 0, 0, $this->length, $this->length, $background);
 
 
 		foreach($this->matrix->matrix() as $y => $row){
 		foreach($this->matrix->matrix() as $y => $row){
 			foreach($row as $x => $M_TYPE){
 			foreach($row as $x => $M_TYPE){
@@ -49,7 +54,7 @@ class QRImageWithText extends QRImage{
 		$imageData = $this->dumpImage($file);
 		$imageData = $this->dumpImage($file);
 
 
 		if((bool)$this->options->imageBase64){
 		if((bool)$this->options->imageBase64){
-			$imageData = 'data:image/'.$this->options->outputType.';base64,'.\base64_encode($imageData);
+			$imageData = 'data:image/'.$this->options->outputType.';base64,'.base64_encode($imageData);
 		}
 		}
 
 
 		return $imageData;
 		return $imageData;
@@ -63,7 +68,7 @@ class QRImageWithText extends QRImage{
 		$qrcode = $this->image;
 		$qrcode = $this->image;
 
 
 		// options things
 		// options things
-		$textSize = 3; // see imagefontheight() and imagefontwidth()
+		$textSize  = 3; // see imagefontheight() and imagefontwidth()
 		$textBG    = [200, 200, 200];
 		$textBG    = [200, 200, 200];
 		$textColor = [50, 50, 50];
 		$textColor = [50, 50, 50];
 
 
@@ -71,28 +76,28 @@ class QRImageWithText extends QRImage{
 		$bgHeight = $bgWidth + 20; // 20px extra space
 		$bgHeight = $bgWidth + 20; // 20px extra space
 
 
 		// create a new image with additional space
 		// create a new image with additional space
-		$this->image = \imagecreatetruecolor($bgWidth, $bgHeight);
-		$background  = \imagecolorallocate($this->image, ...$textBG);
+		$this->image = imagecreatetruecolor($bgWidth, $bgHeight);
+		$background  = imagecolorallocate($this->image, ...$textBG);
 
 
 		// allow transparency
 		// allow transparency
-		if((bool)$this->options->imageTransparent && \in_array($this->options->outputType, $this::TRANSPARENCY_TYPES, true)){
-			\imagecolortransparent($this->image, $background);
+		if((bool)$this->options->imageTransparent && in_array($this->options->outputType, $this::TRANSPARENCY_TYPES, true)){
+			imagecolortransparent($this->image, $background);
 		}
 		}
 
 
 		// fill the background
 		// fill the background
-		\imagefilledrectangle($this->image, 0, 0, $bgWidth, $bgHeight, $background);
+		imagefilledrectangle($this->image, 0, 0, $bgWidth, $bgHeight, $background);
 
 
 		// copy over the qrcode
 		// copy over the qrcode
-		\imagecopymerge($this->image, $qrcode, 0, 0, 0, 0, $this->length, $this->length, 100);
-		\imagedestroy($qrcode);
+		imagecopymerge($this->image, $qrcode, 0, 0, 0, 0, $this->length, $this->length, 100);
+		imagedestroy($qrcode);
 
 
-		$fontColor = \imagecolorallocate($this->image, ...$textColor);
-		$w         = \imagefontwidth($textSize);
-		$x         =  \round(($bgWidth - \strlen($text) * $w) / 2);
+		$fontColor = imagecolorallocate($this->image, ...$textColor);
+		$w         = imagefontwidth($textSize);
+		$x         = round(($bgWidth - strlen($text) * $w) / 2);
 
 
 		// loop through the string and draw the letters
 		// loop through the string and draw the letters
-		foreach(\str_split($text) as $i => $chr){
-			\imagechar($this->image, $textSize, $i * $w + $x, $this->length, $chr, $fontColor);
+		foreach(str_split($text) as $i => $chr){
+			imagechar($this->image, $textSize, $i * $w + $x, $this->length, $chr, $fontColor);
 		}
 		}
 	}
 	}
 
 

+ 2 - 2
examples/imageWithLogo.php

@@ -22,8 +22,8 @@ $data = 'https://www.youtube.com/watch?v=DLzxrzFCyOs&t=43s';
  * @noinspection PhpIllegalPsrClassPathInspection
  * @noinspection PhpIllegalPsrClassPathInspection
  */
  */
 class LogoOptions extends QROptions{
 class LogoOptions extends QROptions{
-	protected int $logoWidth;
-	protected int $logoHeight;
+	protected $logoWidth;
+	protected $logoHeight;
 }
 }
 
 
 $options = new LogoOptions;
 $options = new LogoOptions;