Esempio n. 1
0
 /**
  * @param LayerInterface[] $layers
  * @param mixed[]          $options
  */
 protected function initContents(array $layers, $options)
 {
     $format = $layers[0]->get('image.format');
     if ($layers[0]->has('image.imc_uri')) {
         $uri = $layers[0]->get('image.imc_uri');
         $resource = $this->rh->getGdResourceFromStream($format, $uri, true);
         imagedestroy($resource);
         $contents = file_get_contents($uri);
     } else {
         $contents = $layers[0]->get('image.contents');
         $resource = $this->rh->getGdResourceFromContents($format, $contents, true);
         imagedestroy($resource);
     }
     $layers[0]->set('final.contents', $contents);
 }
Esempio n. 2
0
 /**
  * @param ImageAwareLayerInterface $layer
  */
 protected function initImageAwareLayerResource(ImageAwareLayerInterface $layer)
 {
     $format = $layer->get('image.format');
     if ($layer->has('image.imc_uri')) {
         $uri = $layer->get('image.imc_uri');
         $resource = $this->rh->getGdResourceFromStream($format, $uri, true);
     } else {
         $contents = $layer->get('image.contents');
         $resource = $this->rh->getGdResourceFromContents($format, $contents, true);
     }
     if ($layer->has('image.resize.width')) {
         $resource = $this->rh->getResizedGdResource($resource, $layer->get('image.resize.width'), $layer->get('image.resize.height'), $layer->get('image.resize.option'), true);
     } elseif ($layer instanceof BackgroundLayerInterface && $layer->get('image.format') === PhpGdContext::FORMAT_PNG) {
         $resource = $this->rh->getClonedGdResource($resource);
     }
     $layer->set('final.resource', $resource);
 }
Esempio n. 3
0
 /**
  * @param ImageAwareLayerInterface $layer
  */
 protected function initImageAwareLayerResource(ImageAwareLayerInterface $layer)
 {
     $format = $layer->get('image.format');
     if ($layer->has('image.imc_uri')) {
         $uri = $layer->get('image.imc_uri');
         $resource = $this->rh->getGdResourceFromStream($format, $uri, true);
     } else {
         $contents = $layer->get('image.contents');
         $resource = $this->rh->getGdResourceFromContents($format, $contents, true);
     }
     if ($layer->has('image.rotate.angle')) {
         $resource = $this->rh->getRotatedGdResource($resource, $layer->get('image.rotate.angle'), $layer->get('image.rotate.bgcolor'));
     }
     if ($layer->has('image.resize.width')) {
         $resource = $this->rh->getResizedGdResource($resource, $layer->get('image.resize.width'), $layer->get('image.resize.height'), $layer->get('image.resize.option'), true);
     }
     if ($layer->has('image.flip')) {
         $resource = $this->rh->getFlippedGdResource($resource, $layer->get('image.flip'));
     }
     if ($layer->has('image.opacity')) {
         $resource = $this->rh->getOpacityGdResource($resource, $layer->get('image.opacity'));
     }
     $layer->set('final.resource', $resource);
 }
Esempio n. 4
0
 /**
  * @param  string $contents
  * @return resource
  */
 protected function getGifResourceFromContents($contents)
 {
     return $this->rh->getGdResourceFromContents(PhpGdContext::FORMAT_GIF, $contents, true);
 }