diff --git a/src/Drivers/Gd/Frame.php b/src/Drivers/Gd/Frame.php index 2c7d18e1..0d3e0c64 100644 --- a/src/Drivers/Gd/Frame.php +++ b/src/Drivers/Gd/Frame.php @@ -5,8 +5,10 @@ namespace Intervention\Image\Drivers\Gd; use GdImage; use Intervention\Image\Collection; use Intervention\Image\Drivers\Abstract\AbstractFrame; +use Intervention\Image\Geometry\Size; use Intervention\Image\Interfaces\FrameInterface; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Interfaces\SizeInterface; class Frame extends AbstractFrame implements FrameInterface { @@ -48,6 +50,11 @@ class Frame extends AbstractFrame implements FrameInterface return $this->core; } + public function getSize(): SizeInterface + { + return new Size(imagesx($this->core), imagesy($this->core)); + } + public function getDelay(): float { return $this->delay; diff --git a/src/Drivers/Imagick/Frame.php b/src/Drivers/Imagick/Frame.php index 44873299..97e02065 100644 --- a/src/Drivers/Imagick/Frame.php +++ b/src/Drivers/Imagick/Frame.php @@ -20,6 +20,11 @@ class Frame extends AbstractFrame implements FrameInterface return $this->core; } + public function getSize(): SizeInterface + { + return new Size($this->core->getImageWidth(), $this->core->getImageHeight()); + } + public function getDelay(): float { return $this->core->getImageDelay() / 100; diff --git a/src/Interfaces/FrameInterface.php b/src/Interfaces/FrameInterface.php index 4febaea9..3c27aea9 100644 --- a/src/Interfaces/FrameInterface.php +++ b/src/Interfaces/FrameInterface.php @@ -6,6 +6,7 @@ interface FrameInterface { public function toImage(): ImageInterface; public function getCore(); + public function getSize(): SizeInterface; public function getDelay(): float; public function setDelay(float $delay): FrameInterface; public function getDispose(): int;