Contao\Picture::getConfigurationItem PHP 메소드

getConfigurationItem() 보호된 메소드

Get the config for one picture source element
protected getConfigurationItem ( Model | object $imageSize ) : Contao\Image\PictureConfigurationItem
$imageSize Model | object The image size or image size item model
리턴 Contao\Image\PictureConfigurationItem
    protected function getConfigurationItem($imageSize)
    {
        $configItem = new PictureConfigurationItem();
        $resizeConfig = new ResizeConfiguration();
        $mode = $imageSize->resizeMode;
        if (substr_count($mode, '_') === 1) {
            $importantPart = $this->image->setImportantPart(null)->getImportantPart();
            $mode = explode('_', $mode);
            if ($mode[0] === 'left') {
                $importantPart['width'] = 1;
            } elseif ($mode[0] === 'right') {
                $importantPart['x'] = $importantPart['width'] - 1;
                $importantPart['width'] = 1;
            }
            if ($mode[1] === 'top') {
                $importantPart['height'] = 1;
            } elseif ($mode[1] === 'bottom') {
                $importantPart['y'] = $importantPart['height'] - 1;
                $importantPart['height'] = 1;
            }
            $this->image->setImportantPart($importantPart);
            $mode = ResizeConfiguration::MODE_CROP;
        }
        $resizeConfig->setWidth($imageSize->width)->setHeight($imageSize->height)->setZoomLevel($imageSize->zoom);
        if ($mode) {
            $resizeConfig->setMode($mode);
        }
        $configItem->setResizeConfig($resizeConfig);
        if (isset($imageSize->sizes)) {
            $configItem->setSizes($imageSize->sizes);
        }
        if (isset($imageSize->densities)) {
            $configItem->setDensities($imageSize->densities);
        }
        if (isset($imageSize->media)) {
            $configItem->setMedia($imageSize->media);
        }
        return $configItem;
    }