/** * @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); }
/** * @param resource $resource * @return string */ protected function getGifContentsFromGdResource($resource) { return $this->rh->getContentsFromGdResource(PhpGdContext::FORMAT_GIF, $resource, [], true); }