Файл: vendor/intervention/image/src/Drivers/Imagick/Modifiers/CoverModifier.php
Строк: 52
<?php
declare(strict_types=1);
namespace InterventionImageDriversImagickModifiers;
use ImagickException;
use InterventionImageExceptionsInvalidArgumentException;
use InterventionImageExceptionsModifierException;
use InterventionImageInterfacesImageInterface;
use InterventionImageInterfacesSpecializedInterface;
use InterventionImageModifiersCoverModifier as GenericCoverModifier;
class CoverModifier extends GenericCoverModifier implements SpecializedInterface
{
/**
* @throws InvalidArgumentException
* @throws ModifierException
*/
public function apply(ImageInterface $image): ImageInterface
{
$crop = $this->cropSize($image);
$resize = $this->resizeSize($crop);
foreach ($image as $frame) {
try {
$frame->native()->cropImage(
$crop->width(),
$crop->height(),
$crop->pivot()->x(),
$crop->pivot()->y(),
);
$frame->native()->scaleImage(
$resize->width(),
$resize->height(),
);
$frame->native()->setImagePage(0, 0, 0, 0);
} catch (ImagickException $e) {
throw new ModifierException(
'Failed to apply ' . self::class . ', unable to resize image',
previous: $e,
);
}
}
return $image;
}
}