/** * @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); }
/** * @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); }
/** * @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); }