private function addGrayscalePrefixIfNecessary(string $filename, Burger $burger) : string { if ($burger->isGrayscale()) { return self::GRAYSCALE_PREFIX . self::SEPARATOR . $filename; } return $filename; }
public function forge(Burger $burger) : Forger { $sourceBurgerImage = $this->imagine->open($this->burgerPicker->pick()); $resizeFilter = (new ResizeKeepRatio($sourceBurgerImage, $burger))->build(); $resizeFilter->apply($sourceBurgerImage); $cropFilter = (new CropCenter($sourceBurgerImage->getSize(), $burger))->build(); $cropFilter->apply($sourceBurgerImage); if ($burger->isGrayscale()) { $sourceBurgerImage->effects()->grayscale(); } $sourceBurgerImage->save($this->buildBurgerImagePath($burger)); return $this; }