Файл: 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);
}
}