From 0cd5d39bcdb882284d48643ae8905f6d3c1e773d Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Sat, 27 Jan 2024 10:56:22 +0100 Subject: [PATCH] Add more media types to MediaTypeEncoder --- src/Encoders/MediaTypeEncoder.php | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/Encoders/MediaTypeEncoder.php b/src/Encoders/MediaTypeEncoder.php index 8072c74e..591c637a 100644 --- a/src/Encoders/MediaTypeEncoder.php +++ b/src/Encoders/MediaTypeEncoder.php @@ -40,15 +40,30 @@ class MediaTypeEncoder extends SpecializableEncoder implements EncoderInterface protected function encoderByMediaType(string $type): EncoderInterface { return match (strtolower($type)) { - 'image/webp' => new WebpEncoder(quality: $this->quality), - 'image/avif' => new AvifEncoder(quality: $this->quality), - 'image/jpeg' => new JpegEncoder(quality: $this->quality), - 'image/bmp' => new BmpEncoder(), + 'image/webp', + 'image/x-webp' => new WebpEncoder(quality: $this->quality), + 'image/avif', + 'image/x-avif' => new AvifEncoder(quality: $this->quality), + 'image/jpeg', + 'image/jpg', + 'image/pjpeg' => new JpegEncoder(quality: $this->quality), + 'image/bmp', + 'image/ms-bmp', + 'image/x-bitmap', + 'image/x-bmp', + 'image/x-ms-bmp', + 'image/x-win-bitmap', + 'image/x-windows-bmp', + 'image/x-xbitmap' => new BmpEncoder(), 'image/gif' => new GifEncoder(), - 'image/png' => new PngEncoder(), + 'image/png', + 'image/x-png' => new PngEncoder(), 'image/tiff' => new TiffEncoder(quality: $this->quality), - 'image/jp2', 'image/jpx', 'image/jpm' => new Jpeg2000Encoder(quality: $this->quality), - 'image/heic', 'image/heif', => new HeicEncoder(quality: $this->quality), + 'image/jp2', + 'image/jpx', + 'image/jpm' => new Jpeg2000Encoder(quality: $this->quality), + 'image/heic', + 'image/heif', => new HeicEncoder(quality: $this->quality), default => throw new EncoderException('No encoder found for media type (' . $type . ').'), }; }