mirror of
https://github.com/getformwork/formwork.git
synced 2025-03-14 19:19:48 +01:00
Implement Arrayable to image metadata
This commit is contained in:
parent
4a14b02b8a
commit
de1781b288
@ -2,18 +2,18 @@
|
||||
|
||||
namespace Formwork\Images\ColorProfile;
|
||||
|
||||
enum ColorSpace
|
||||
enum ColorSpace: string
|
||||
{
|
||||
case XYZ;
|
||||
case LAB;
|
||||
case LUV;
|
||||
case YCbCr;
|
||||
case XYY;
|
||||
case RGB;
|
||||
case Grayscale;
|
||||
case HSV;
|
||||
case HLS;
|
||||
case CMYK;
|
||||
case CMY;
|
||||
case Palette;
|
||||
case XYZ = 'XYZ';
|
||||
case LAB = 'LAB';
|
||||
case LUV = 'LUV';
|
||||
case YCbCr = 'YCbCr';
|
||||
case XYY = 'XYY';
|
||||
case RGB = 'RGB';
|
||||
case Grayscale = 'Grayscale';
|
||||
case HSV = 'HSV';
|
||||
case HLS = 'HLS';
|
||||
case CMYK = 'CMYK';
|
||||
case CMY = 'CMY';
|
||||
case Palette = 'Palette';
|
||||
}
|
||||
|
@ -2,7 +2,9 @@
|
||||
|
||||
namespace Formwork\Images\Exif;
|
||||
|
||||
class ExifData
|
||||
use Formwork\Data\Contracts\Arrayable;
|
||||
|
||||
class ExifData implements Arrayable
|
||||
{
|
||||
protected ExifReader $reader;
|
||||
|
||||
@ -27,6 +29,11 @@ class ExifData
|
||||
return $this->tags;
|
||||
}
|
||||
|
||||
public function toArray(): array
|
||||
{
|
||||
return iterator_to_array($this->parsedTags());
|
||||
}
|
||||
|
||||
public function parsedTags()
|
||||
{
|
||||
foreach ($this->tags as $key => $value) {
|
||||
|
@ -349,6 +349,11 @@ class Image extends File
|
||||
return $this->handler()->getInfo();
|
||||
}
|
||||
|
||||
public function toArray(): array
|
||||
{
|
||||
return [...parent::toArray(), 'imageInfo' => $this->info()->toArray(), 'exif' => $this->getExifData()?->toArray(), 'colorProfile' => $this->getColorProfile()?->name(), 'uri' => $this->uri()];
|
||||
}
|
||||
|
||||
protected function getHash(?string $mimeType = null): string
|
||||
{
|
||||
$mimeType ??= $this->mimeType();
|
||||
|
@ -2,10 +2,11 @@
|
||||
|
||||
namespace Formwork\Images;
|
||||
|
||||
use Formwork\Data\Contracts\Arrayable;
|
||||
use Formwork\Images\ColorProfile\ColorSpace;
|
||||
use UnexpectedValueException;
|
||||
|
||||
class ImageInfo
|
||||
class ImageInfo implements Arrayable
|
||||
{
|
||||
protected string $mimeType;
|
||||
|
||||
@ -87,4 +88,9 @@ class ImageInfo
|
||||
{
|
||||
return $this->animationRepeatCount;
|
||||
}
|
||||
|
||||
public function toArray(): array
|
||||
{
|
||||
return get_object_vars($this);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user