options->fpdfMeasureUnit, [$this->length, $this->length]); $fpdf->AddPage(); if($this->moduleValueIsValid($this->options->bgColor)){ $bgColor = $this->getModuleValue($this->options->bgColor); /** @phan-suppress-next-line PhanParamTooFewUnpack */ $fpdf->SetFillColor(...$bgColor); $fpdf->Rect(0, 0, $this->length, $this->length, 'F'); } $prevColor = null; foreach($this->matrix->matrix() as $y => $row){ foreach($row as $x => $M_TYPE){ if(!$this->options->drawLightModules && !$this->matrix->check($x, $y)){ continue; } /** @var int $M_TYPE */ $color = $this->moduleValues[$M_TYPE]; if($prevColor !== $color){ /** @phan-suppress-next-line PhanParamTooFewUnpack */ $fpdf->SetFillColor(...$color); $prevColor = $color; } $fpdf->Rect($x * $this->scale, $y * $this->scale, $this->scale, $this->scale, 'F'); } } if($this->options->returnResource){ return $fpdf; } $pdfData = $fpdf->Output('S'); $this->saveToFile($pdfData, $file); if($this->options->imageBase64){ $pdfData = $this->toBase64DataURI($pdfData, 'application/pdf'); } return $pdfData; } }