Beispiel #1
0
 /**
  * @param string $path
  * @param string $filter
  * @param Image  $image
  *
  * @return string
  */
 public function getFormattedImage($path, $filter, Image $image = null)
 {
     if (!$this->cacheManager->isStored($path, $filter)) {
         $config = $this->filterManager->getFilterConfiguration()->get($filter);
         if (isset($config['filters']['focused_crop'])) {
             $config['filters']['focused_crop']['object'] = $image;
         }
         $binary = $this->dataManager->find($filter, $path);
         $binary = $this->filterManager->applyFilter($binary, $filter, $config);
         $this->cacheManager->store($binary, $path, $filter);
     }
     return $this->cacheManager->resolve($path, $filter);
 }
Beispiel #2
0
 /**
  * @param $entity
  * @param $type
  * @param  null        $filter
  * @return array|mixed
  */
 public function getImageOptions($entity, $type, $filter = null)
 {
     $options = $entity->{'get' . ucfirst($type) . 'Options'}();
     $options = json_decode($options, true);
     if (!$options || (array_key_exists('height', $options) && $options['height'] < 1 || array_key_exists('width', $options) && $options['width'] < 1)) {
         $defaultConfig = ['height' => 0, 'width' => 0, 'x' => 0, 'y' => 0];
         if ($filter) {
             $config = $this->filterManager->getFilterConfiguration()->get($filter);
             if (isset($config['filters']) && isset($config['filters']['crop']) && isset($config['filters']['crop']['size'])) {
                 $size = $config['filters']['crop']['size'];
                 $defaultConfig['height'] = $size[1];
                 $defaultConfig['width'] = $size[0];
             }
             if (isset($config['filters']) && isset($config['filters']['crop']) && isset($config['filters']['crop']['start'])) {
                 $start = $config['filters']['crop']['start'];
                 $defaultConfig['x'] = $start[0];
                 $defaultConfig['y'] = $start[1];
             }
         }
         return $defaultConfig;
     }
     return $options;
 }