Exemplo n.º 1
0
 /**
  * @param LayerInterface[] $layers
  * @param mixed[]          $options
  */
 protected function initContents(array $layers, $options)
 {
     foreach ($layers as $layer) {
         if ($layer instanceof ImageAwareLayerInterface) {
             $this->initImageAwareLayerResource($layer);
         } elseif ($layer instanceof TextLayerInterface) {
             $this->initTextLayerResource($layer);
         }
         if ($layer instanceof RegularLayerInterface) {
             $resource = $this->rh->getMergedGdResource($layers[0]->get('final.resource'), $layer->get('final.resource'), $layer->get('regular.move.x'), $layer->get('regular.move.y'), $layer->get('regular.move.gravity'), $layer->get('image.opacity'));
             imagedestroy($layer->get('final.resource'));
             $layers[0]->set('final.resource', $resource);
         }
     }
     $contents = $this->rh->getContentsFromGdResource($layers[0]->get('final.format'), $layers[0]->get('final.resource'), $options, true);
     imagedestroy($layers[0]->get('final.resource'));
     $layers[0]->set('final.contents', $contents);
 }
Exemplo n.º 2
0
 /**
  * @param BackgroundLayerInterface $layer
  */
 protected function mergeFrameResource(BackgroundLayerInterface $layer)
 {
     if (!$layer->has('gif.cache_resource')) {
         return;
     }
     $resource = $layer->get('gif.frame_resource');
     $cacheResource = $layer->get('gif.cache_resource');
     $extracted = $layer->get('gif.extracted');
     $resource = $this->rh->getMergedGdResource($resource, $cacheResource);
     if ($extracted->last()) {
         imagedestroy($cacheResource);
     }
     $layer->set('gif.frame_resource', $resource);
 }