Файл: vendor/intervention/image/src/Modifiers/ContainModifier.php
Строк: 58
<?php
declare(strict_types=1);
namespace InterventionImageModifiers;
use InterventionImageDriversSpecializableModifier;
use InterventionImageExceptionsRuntimeException;
use InterventionImageGeometryRectangle;
use InterventionImageInterfacesImageInterface;
use InterventionImageInterfacesSizeInterface;
class ContainModifier extends SpecializableModifier
{
public function __construct(
public int $width,
public int $height,
public mixed $background = 'ffffff',
public string $position = 'center'
) {
}
/**
* @throws RuntimeException
*/
public function getCropSize(ImageInterface $image): SizeInterface
{
return $image->size()
->contain(
$this->width,
$this->height
)
->alignPivotTo(
$this->getResizeSize($image),
$this->position
);
}
public function getResizeSize(ImageInterface $image): SizeInterface
{
return new Rectangle($this->width, $this->height);
}
}