Ich habe es mal ausgetestet. Dafür muss m.E. das Komponenten-Template entsprechend angepasst werden.
Mit folgendem Code hat es bei mir funktioniert:
Code:
{# templates/component/_picture.html.twig #}
{% use "@Contao/component/_picture.html.twig" %}
{% block image %}
{% set img = figure.image.img %}
{% set defineProportions = img.width|default(false) and img.height|default(false) %}
{% set img_attributes = attrs(img_attributes|default)
.set('src', img.src)
.set('alt', figure.hasMetadata ? figure.metadata.alt|insert_tag : '')
.setIfExists('title', figure.hasMetadata ? (figure.metadata.title|insert_tag ?: null) : null)
.setIfExists('srcset', img.srcset is defined and img.srcset != img.src ? img.srcset : null)
.setIfExists('sizes', img.sizes|default)
.setIfExists('width', defineProportions ? img.width : null)
.setIfExists('height', defineProportions ? img.height : null)
.setIfExists('loading', img.loading|default)
.addClass(img.class|default)
.mergeWith(figure.options.img_attr|default)
%}
<img{{ img_attributes }}>
{% endblock %}
Ob das eventuell noch eleganter geht weiss ich leider nicht.