/** * {@inheritdoc} */ protected function doGenerate(CanvasInterface $canvas) { $width = $canvas->getWidth(); $height = $canvas->getHeight(); $n = max($width, $height) / 2; $rect = new Rectangle(); $rect->fill(true); for ($i = 0; $i < $n; $i += $this->getStep() + 1) { $rect->getStart()->move($i * $width / $height, $i * $height / $width); $rect->getDimension()->resize($width - $i * $width / $height - $rect->getStart()->getX(), $height - $i * $height / $width - $rect->getStart()->getY()); $rect->setColor($this->getColor($i / $n))->draw($canvas); } }
/** * {@inheritdoc} */ protected function doGenerate(CanvasInterface $canvas) { $n = $w = null; if (self::GRADIENT_VERTICAL == $this->getType()) { $n = $canvas->getHeight(); $w = $canvas->getWidth(); } else { $w = $canvas->getHeight(); $n = $canvas->getWidth(); } $rect = new Rectangle(); $rect->fill(true); for ($i = 0; $i < $n; $i += $this->getStep() + 1) { if (self::GRADIENT_VERTICAL == $this->getType()) { $rect->getStart()->move(0, $i); $rect->getDimension()->resize($w, $i + $this->getStep()); } else { $rect->getStart()->move($i, 0); $rect->getDimension()->resize($i + $this->getStep(), $w); } $rect->setColor($this->getColor($i / $n))->draw($canvas); } }