1
0
mirror of https://github.com/Intervention/image.git synced 2025-08-21 05:01:20 +02:00

Resize Modifiers

This commit is contained in:
Oliver Vogel
2021-11-28 19:31:06 +01:00
parent 66794138e2
commit 4be14783cf
2 changed files with 69 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
<?php
namespace Intervention\Image\Drivers\Imagick\Modifiers;
use Intervention\Image\Interfaces\FrameInterface;
use Intervention\Image\Interfaces\ImageInterface;
use Intervention\Image\Interfaces\ModifierInterface;
use Intervention\Image\Interfaces\SizeInterface;
class FitModifier implements ModifierInterface
{
protected $crop;
protected $resize;
public function __construct(SizeInterface $crop, SizeInterface $resize)
{
$this->crop = $crop;
$this->resize = $resize;
}
public function apply(ImageInterface $image): ImageInterface
{
foreach ($image as $frame) {
$frame->getCore()->extentImage(
$this->crop->getWidth(),
$this->crop->getHeight(),
$this->crop->getPivot()->getX(),
$this->crop->getPivot()->getY()
);
$frame->getCore()->scaleImage(
$this->resize->getWidth(),
$this->resize->getHeight()
);
}
return $image;
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace Intervention\Image\Drivers\Imagick\Modifiers;
use Intervention\Image\Interfaces\FrameInterface;
use Intervention\Image\Interfaces\ImageInterface;
use Intervention\Image\Interfaces\ModifierInterface;
use Intervention\Image\Interfaces\SizeInterface;
class ResizeModifier implements ModifierInterface
{
protected $resize;
public function __construct(SizeInterface $resize)
{
$this->resize = $resize;
}
public function apply(ImageInterface $image): ImageInterface
{
foreach ($image as $frame) {
$frame->getCore()->scaleImage(
$this->resize->getWidth(),
$this->resize->getHeight()
);
}
return $image;
}
}