mirror of
https://github.com/Intervention/image.git
synced 2025-08-19 04:01:30 +02:00
Add more media types to MediaTypeEncoder
This commit is contained in:
@@ -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 . ').'),
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user