diff --git a/src/Drivers/Gd/Modifiers/BlendTransparencyModifier.php b/src/Drivers/Gd/Modifiers/BlendTransparencyModifier.php index 82af1493..9abe4bdb 100644 --- a/src/Drivers/Gd/Modifiers/BlendTransparencyModifier.php +++ b/src/Drivers/Gd/Modifiers/BlendTransparencyModifier.php @@ -5,11 +5,12 @@ namespace Intervention\Image\Drivers\Gd\Modifiers; use Intervention\Image\Drivers\DriverSpecialized; use Intervention\Image\Drivers\Gd\Cloner; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\ModifierInterface; /** * @property mixed $color */ -class BlendTransparencyModifier extends DriverSpecialized +class BlendTransparencyModifier extends DriverSpecialized implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { diff --git a/src/Drivers/Gd/Modifiers/ContainModifier.php b/src/Drivers/Gd/Modifiers/ContainModifier.php index f0592acb..ef07828e 100644 --- a/src/Drivers/Gd/Modifiers/ContainModifier.php +++ b/src/Drivers/Gd/Modifiers/ContainModifier.php @@ -10,6 +10,7 @@ use Intervention\Image\Drivers\Gd\Cloner; use Intervention\Image\Interfaces\ColorInterface; use Intervention\Image\Interfaces\FrameInterface; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\ModifierInterface; use Intervention\Image\Interfaces\SizeInterface; /** @@ -20,7 +21,7 @@ use Intervention\Image\Interfaces\SizeInterface; * @property mixed $background * @property string $position */ -class ContainModifier extends DriverSpecialized +class ContainModifier extends DriverSpecialized implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { diff --git a/src/Drivers/Gd/Modifiers/CoverModifier.php b/src/Drivers/Gd/Modifiers/CoverModifier.php index b4cb224c..d149d393 100644 --- a/src/Drivers/Gd/Modifiers/CoverModifier.php +++ b/src/Drivers/Gd/Modifiers/CoverModifier.php @@ -6,13 +6,14 @@ use Intervention\Image\Drivers\DriverSpecialized; use Intervention\Image\Drivers\Gd\Cloner; use Intervention\Image\Interfaces\FrameInterface; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\ModifierInterface; use Intervention\Image\Interfaces\SizeInterface; /** * @method SizeInterface getResizeSize(ImageInterface $image) * @method SizeInterface getCropSize(ImageInterface $image) */ -class CoverModifier extends DriverSpecialized +class CoverModifier extends DriverSpecialized implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { diff --git a/src/Drivers/Gd/Modifiers/CropModifier.php b/src/Drivers/Gd/Modifiers/CropModifier.php index 9139b074..65588c35 100644 --- a/src/Drivers/Gd/Modifiers/CropModifier.php +++ b/src/Drivers/Gd/Modifiers/CropModifier.php @@ -6,6 +6,7 @@ use Intervention\Image\Drivers\DriverSpecialized; use Intervention\Image\Drivers\Gd\Cloner; use Intervention\Image\Interfaces\FrameInterface; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\ModifierInterface; use Intervention\Image\Interfaces\SizeInterface; /** @@ -14,7 +15,7 @@ use Intervention\Image\Interfaces\SizeInterface; * @property int $offset_y * @property mixed $background */ -class CropModifier extends DriverSpecialized +class CropModifier extends DriverSpecialized implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { diff --git a/src/Drivers/Gd/Modifiers/QuantizeColorsModifier.php b/src/Drivers/Gd/Modifiers/QuantizeColorsModifier.php index 56939205..6d949e51 100644 --- a/src/Drivers/Gd/Modifiers/QuantizeColorsModifier.php +++ b/src/Drivers/Gd/Modifiers/QuantizeColorsModifier.php @@ -6,12 +6,13 @@ use Intervention\Image\Drivers\DriverSpecialized; use Intervention\Image\Drivers\Gd\Cloner; use Intervention\Image\Exceptions\InputException; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\ModifierInterface; /** * @property int $limit * @property mixed $background */ -class QuantizeColorsModifier extends DriverSpecialized +class QuantizeColorsModifier extends DriverSpecialized implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { diff --git a/src/Drivers/Gd/Modifiers/ResizeCanvasModifier.php b/src/Drivers/Gd/Modifiers/ResizeCanvasModifier.php index fb69460a..59e8de2a 100644 --- a/src/Drivers/Gd/Modifiers/ResizeCanvasModifier.php +++ b/src/Drivers/Gd/Modifiers/ResizeCanvasModifier.php @@ -10,13 +10,14 @@ use Intervention\Image\Drivers\Gd\Cloner; use Intervention\Image\Interfaces\ColorInterface; use Intervention\Image\Interfaces\FrameInterface; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\ModifierInterface; use Intervention\Image\Interfaces\SizeInterface; /** * @method SizeInterface cropSize(ImageInterface $image) * @property mixed $background */ -class ResizeCanvasModifier extends DriverSpecialized +class ResizeCanvasModifier extends DriverSpecialized implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { diff --git a/src/Drivers/Gd/Modifiers/ResizeModifier.php b/src/Drivers/Gd/Modifiers/ResizeModifier.php index b173ce8f..c7d447dd 100644 --- a/src/Drivers/Gd/Modifiers/ResizeModifier.php +++ b/src/Drivers/Gd/Modifiers/ResizeModifier.php @@ -6,13 +6,14 @@ use Intervention\Image\Drivers\DriverSpecialized; use Intervention\Image\Drivers\Gd\Cloner; use Intervention\Image\Interfaces\FrameInterface; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\ModifierInterface; use Intervention\Image\Interfaces\SizeInterface; /** * @property null|int $width * @property null|int $height */ -class ResizeModifier extends DriverSpecialized +class ResizeModifier extends DriverSpecialized implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { diff --git a/src/Drivers/Gd/Modifiers/RotateModifier.php b/src/Drivers/Gd/Modifiers/RotateModifier.php index 0ed7c987..e7a94d63 100644 --- a/src/Drivers/Gd/Modifiers/RotateModifier.php +++ b/src/Drivers/Gd/Modifiers/RotateModifier.php @@ -11,12 +11,13 @@ use Intervention\Image\Geometry\Rectangle; use Intervention\Image\Interfaces\ColorInterface; use Intervention\Image\Interfaces\FrameInterface; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\ModifierInterface; /** * @method mixed rotationAngle() * @property mixed $background */ -class RotateModifier extends DriverSpecialized +class RotateModifier extends DriverSpecialized implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { diff --git a/src/Drivers/Gd/Modifiers/SliceAnimationModifier.php b/src/Drivers/Gd/Modifiers/SliceAnimationModifier.php index 69ef8972..ddb9f18f 100644 --- a/src/Drivers/Gd/Modifiers/SliceAnimationModifier.php +++ b/src/Drivers/Gd/Modifiers/SliceAnimationModifier.php @@ -2,14 +2,15 @@ namespace Intervention\Image\Drivers\Gd\Modifiers; -use Intervention\Image\Drivers\DriverSpecializedModifier; +use Intervention\Image\Drivers\DriverSpecialized; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\ModifierInterface; /** * @property int $offset * @property null|int $length */ -class SliceAnimationModifier extends DriverSpecializedModifier +class SliceAnimationModifier extends DriverSpecialized implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { diff --git a/src/Drivers/Imagick/Modifiers/BlendTransparencyModifier.php b/src/Drivers/Imagick/Modifiers/BlendTransparencyModifier.php index 77da839f..a37b534f 100644 --- a/src/Drivers/Imagick/Modifiers/BlendTransparencyModifier.php +++ b/src/Drivers/Imagick/Modifiers/BlendTransparencyModifier.php @@ -5,11 +5,12 @@ namespace Intervention\Image\Drivers\Imagick\Modifiers; use Imagick; use Intervention\Image\Drivers\DriverSpecialized; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\ModifierInterface; /** * @property mixed $color */ -class BlendTransparencyModifier extends DriverSpecialized +class BlendTransparencyModifier extends DriverSpecialized implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { diff --git a/src/Drivers/Imagick/Modifiers/SliceAnimationModifier.php b/src/Drivers/Imagick/Modifiers/SliceAnimationModifier.php index d72a7be4..ff8629ba 100644 --- a/src/Drivers/Imagick/Modifiers/SliceAnimationModifier.php +++ b/src/Drivers/Imagick/Modifiers/SliceAnimationModifier.php @@ -2,14 +2,15 @@ namespace Intervention\Image\Drivers\Imagick\Modifiers; -use Intervention\Image\Drivers\DriverSpecializedModifier; +use Intervention\Image\Drivers\DriverSpecialized; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\ModifierInterface; /** * @property int $offset * @property null|int $length */ -class SliceAnimationModifier extends DriverSpecializedModifier +class SliceAnimationModifier extends DriverSpecialized implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { diff --git a/src/Encoders/HeicEncoder.php b/src/Encoders/HeicEncoder.php index 3977b858..2f6052af 100644 --- a/src/Encoders/HeicEncoder.php +++ b/src/Encoders/HeicEncoder.php @@ -2,9 +2,8 @@ namespace Intervention\Image\Encoders; -class HeicEncoder extends AbstractEncoder +use Intervention\Image\Interfaces\SpecializableInterface; + +class HeicEncoder extends AbstractEncoder implements SpecializableInterface { - public function __construct(public int $quality = 75) - { - } } diff --git a/src/Image.php b/src/Image.php index cd978634..f30ab50d 100644 --- a/src/Image.php +++ b/src/Image.php @@ -985,9 +985,9 @@ final class Image implements ImageInterface * * @see ImageInterface::toHeic() */ - public function toHeic(int $quality = 75): EncodedImageInterface + public function toHeic(mixed ...$options): EncodedImageInterface { - return $this->encode(new HeicEncoder($quality)); + return $this->encode(new HeicEncoder(...$options)); } /**