Вход Регистрация
Файл: vendor/intervention/image/src/Drivers/Imagick/Modifiers/ResizeModifier.php
Строк: 51
<?php

declare(strict_types=1);

namespace 
InterventionImageDriversImagickModifiers;

use 
ImagickException;
use 
InterventionImageExceptionsModifierException;
use 
InterventionImageInterfacesImageInterface;
use 
InterventionImageInterfacesSizeInterface;
use 
InterventionImageInterfacesSpecializedInterface;
use 
InterventionImageModifiersResizeModifier as GenericResizeModifier;

class 
ResizeModifier extends GenericResizeModifier implements SpecializedInterface
{
    
/**
     * @throws ModifierException
     */
    
public function apply(ImageInterface $image): ImageInterface
    
{
        
$resizeTo $this->adjustedSize($image);

        foreach (
$image as $frame) {
            try {
                
$frame->native()->scaleImage(
                    
$resizeTo->width(),
                    
$resizeTo->height(),
                );
            } catch (
ImagickException $e) {
                throw new 
ModifierException(
                    
'Failed to apply ' self::class . ', unable to process resizing',
                    
previous$e,
                );
            }
        }

        return 
$image;
    }

    protected function 
adjustedSize(ImageInterface $image): SizeInterface
    
{
        return 
$image->size()->resize($this->width$this->height);
    }
}
Онлайн: 2
Реклама