123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- <?php
- namespace Zxing;
- use Zxing\Common\BitMatrix;
- final class BinaryBitmap
- {
- private $binarizer;
- private $matrix;
- public function __construct(Binarizer $binarizer)
- {
- if ($binarizer === null) {
- throw new \InvalidArgumentException("Binarizer must be non-null.");
- }
- $this->binarizer = $binarizer;
- }
-
- public function getWidth()
- {
- return $this->binarizer->getWidth();
- }
-
- public function getHeight()
- {
- return $this->binarizer->getHeight();
- }
-
- public function getBlackRow($y, $row)
- {
- return $this->binarizer->getBlackRow($y, $row);
- }
-
- public function isCropSupported()
- {
- return $this->binarizer->getLuminanceSource()->isCropSupported();
- }
-
- public function crop($left, $top, $width, $height)
- {
- $newSource = $this->binarizer->getLuminanceSource()->crop($left, $top, $width, $height);
- return new BinaryBitmap($this->binarizer->createBinarizer($newSource));
- }
-
- public function isRotateSupported()
- {
- return $this->binarizer->getLuminanceSource()->isRotateSupported();
- }
-
- public function rotateCounterClockwise()
- {
- $newSource = $this->binarizer->getLuminanceSource()->rotateCounterClockwise();
- return new BinaryBitmap($this->binarizer->createBinarizer($newSource));
- }
-
- public function rotateCounterClockwise45()
- {
- $newSource = $this->binarizer->getLuminanceSource()->rotateCounterClockwise45();
- return new BinaryBitmap($this->binarizer->createBinarizer($newSource));
- }
- public function toString()
- {
- try {
- return $this->getBlackMatrix()->toString();
- } catch (NotFoundException $e) {
- }
- return '';
- }
-
- public function getBlackMatrix()
- {
-
-
-
-
-
- if ($this->matrix === null) {
- $this->matrix = $this->binarizer->getBlackMatrix();
- }
- return $this->matrix;
- }
- }
|