Я бы не сказал, что это идеально, но надеюсь, что приведенный ниже код поможет вам.
<style>
img.image{
visibility:hidden;
width:100%;
height:auto;
}
.imageContainer{
background-image:url("backgroundImage.webp");
background-size:cover;
background-position:50%;
background-repeat:no-repeat;
width:25%;
display:inline-block;
}
</style>
<div class="imageContainer"><img class="image" src="backgroundImage.webp" alt="sample image" /> </div>
Если изображение подается динамически, тогда. Небольшое изменение будет в том, как изображение подается.