예제 #1
0
 private function addGrayscalePrefixIfNecessary(string $filename, Burger $burger) : string
 {
     if ($burger->isGrayscale()) {
         return self::GRAYSCALE_PREFIX . self::SEPARATOR . $filename;
     }
     return $filename;
 }
예제 #2
0
 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;
 }