Example #1
0
 /**
  * @param $command
  * @param $parameters
  *
  * @throws ImageProxyInvalidFormatOptionsException
  */
 public function call($command, $parameters)
 {
     if (count($this->image->layers())) {
         $counter = 0;
         $this->image->layers()->coalesce();
         foreach ($this->image->layers() as $layer) {
             ++$counter;
             $this->commandManager->get($command)->execute($layer, $parameters);
             if ($counter == 1) {
                 /** @var \Imagine\Imagick\Image|\Imagine\Gd\Image $image */
                 $image = $layer;
                 // use first layer as main image
             } else {
                 $image->layers()->add($layer);
             }
         }
         $this->image = $image;
     } else {
         $this->commandManager->get($command)->execute($this->image, $parameters);
     }
 }