(image_file_formats)=
The picture element
can be used with the format-<type>
image operation to specify different
image formats and let the browser choose the one it prefers. For example:
{% load wagtailimages_tags %}
<picture>
{% image myimage width-1000 format-avif as image_avif %}
<source srcset="{{ image_avif.url }}" type="image/avif">
{% image myimage width-1000 format-webp as image_webp %}
<source srcset="{{ image_webp.url }}" type="image/webp">
{% image myimage width-1000 format-png as image_png %}
<source srcset="{{ image_png.url }}" type="image/png">
{% image myimage width-1000 format-png %}
</picture>
(customizing_output_formats)=
By default, all avif
, bmp
and webp
images are converted to the png
format
when no image output format is given, and heic
images are converted to jpeg
.
The default conversion mapping can be changed by setting the
WAGTAILIMAGES_FORMAT_CONVERSIONS
to a dictionary, which maps the input type
to an output type.
For example:
WAGTAILIMAGES_FORMAT_CONVERSIONS = {
'avif': 'avif',
'bmp': 'jpeg',
'webp': 'webp',
}
will convert bmp
images to jpeg
and disable the default avif
and webp
to png
conversion.