/** * @param PresetInterface $presetObject * @param array $presetParameters */ protected function setParameters(PresetInterface $presetObject, array $presetParameters) { foreach ($presetParameters as $parameter) { $parameterParts = explode('=', $parameter); $parameterName = $parameterParts[0]; $parameterValue = array_key_exists(1, $parameterParts) ? $parameterParts[1] : null; switch ($parameterName) { case 'quality': if ($parameterValue === null) { throw new InvalidPresetException('Quality value "' . $parameterValue . '" is incorrect.'); } $presetObject->setQuality(intval($parameterValue)); break; default: throw new InvalidPresetException('Parameter "' . $parameterName . '" is incorrect.'); } } }
/** * @param ImageInterface $image * @param PresetInterface $preset * * @return ImageInterface */ protected function createImageThumbnail(ImageInterface $image, PresetInterface $preset) { $width = $preset->getWidth(); if ($width === 0) { $width = PHP_INT_MAX; } $height = $preset->getHeight(); if ($height === 0) { $height = PHP_INT_MAX; } $image = $image->thumbnail(new Box($width, $height), $preset->isFit() ? ImageInterface::THUMBNAIL_INSET : ImageInterface::THUMBNAIL_OUTBOUND); return $image; }