|
|
@@ -24,6 +24,11 @@ use function is_string;
|
|
|
*/
|
|
|
class QRImagick extends QROutputAbstract{
|
|
|
|
|
|
+ /**
|
|
|
+ * @var \Imagick
|
|
|
+ */
|
|
|
+ protected $imagick;
|
|
|
+
|
|
|
/**
|
|
|
* @inheritDoc
|
|
|
*/
|
|
|
@@ -45,19 +50,27 @@ class QRImagick extends QROutputAbstract{
|
|
|
|
|
|
/**
|
|
|
* @inheritDoc
|
|
|
+ *
|
|
|
+ * @return string|\Imagick
|
|
|
*/
|
|
|
- public function dump(string $file = null):string{
|
|
|
- $file = $file ?? $this->options->cachefile;
|
|
|
- $imagick = new Imagick;
|
|
|
+ public function dump(string $file = null){
|
|
|
+ $file = $file ?? $this->options->cachefile;
|
|
|
+ $this->imagick = new Imagick;
|
|
|
|
|
|
- $imagick->newImage(
|
|
|
+ $this->imagick->newImage(
|
|
|
$this->length,
|
|
|
$this->length,
|
|
|
new ImagickPixel($this->options->imagickBG ?? 'transparent'),
|
|
|
$this->options->imagickFormat
|
|
|
);
|
|
|
|
|
|
- $imageData = $this->drawImage($imagick);
|
|
|
+ $this->drawImage();
|
|
|
+
|
|
|
+ if($this->options->returnResource){
|
|
|
+ return $this->imagick;
|
|
|
+ }
|
|
|
+
|
|
|
+ $imageData = $this->imagick->getImageBlob();
|
|
|
|
|
|
if($file !== null){
|
|
|
$this->saveToFile($imageData, $file);
|
|
|
@@ -67,11 +80,9 @@ class QRImagick extends QROutputAbstract{
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * @param \Imagick $imagick
|
|
|
- *
|
|
|
- * @return string
|
|
|
+ * @return void
|
|
|
*/
|
|
|
- protected function drawImage(Imagick $imagick):string{
|
|
|
+ protected function drawImage():void{
|
|
|
$draw = new ImagickDraw;
|
|
|
|
|
|
foreach($this->matrix->matrix() as $y => $row){
|
|
|
@@ -88,9 +99,7 @@ class QRImagick extends QROutputAbstract{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- $imagick->drawImage($draw);
|
|
|
-
|
|
|
- return (string)$imagick;
|
|
|
+ $this->imagick->drawImage($draw);
|
|
|
}
|
|
|
|
|
|
}
|