Если вы можете использовать фоновые изображения, то решением будет следующий css:

.myClass {
  background-image: url(your/images/image.jpg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

Если вы используете теги картинок для их размещения, то для вас подойдет следующий вариант:

img {
  object-fit: cover;
}

И еще одним из вариантов будет комплексное использование CSS и JQuery

HTML

<div>
  <img class="cover-image" src="image.png" />
</div>

CSS

div {
  height: 300px;
  width: 450px;
}

Используем плагин JQuery — cover-image

(function ($) {
  $.fn.coverImage = function(contain) {
    this.each(function() {
      var $this = $(this),
        src = $this.get(0).src,
        $wrapper = $this.parent();

      if (contain) {
        $wrapper.css({
          'background': 'url(' + src + ') 50% 50%/contain no-repeat'
        });
      } else {
        $wrapper.css({
          'background': 'url(' + src + ') 50% 50%/cover no-repeat'
        });
      }

      $this.remove();
    });

    return this;
  };
})(jQuery);

Используем так:

jQuery('.cover-image').coverImage();

Плагин возьмет изображение, установит его в качестве фонового изображения в блоке-оболочке изображения и удалит тег img из документа.