/** * {@inheritdoc} */ protected function doApply(CanvasInterface $canvas) { $c1 = clone $this->getFirstColor(); $c2 = clone $this->getSecondColor(); $line = new Line(); $width = $canvas->getWidth(); $height = $canvas->getHeight(); for ($i = 0; $i < $this->getWidth(); $i++) { $alpha = round($i / $this->getWidth() * 127); $c1->setAlpha($alpha); $c2->setAlpha($alpha); $line->setStart(new Coordinate($i, $i + 1))->setEnd(new Coordinate($i, $height - $i - 1))->setColor($c1)->draw($canvas)->setStart(new Coordinate($i, $i))->setEnd(new Coordinate($width - $i, $i))->draw($canvas)->setStart(new Coordinate($width - $i, $height - $i - 1))->setEnd(new Coordinate($width - $i, $i + 1))->setColor($c2)->draw($canvas)->setStart(new Coordinate($width - $i, $height - $i - 1))->setEnd(new Coordinate($i, $height - $i))->draw($canvas); } }