Magento 2 - Keep Product Image Aspect Ratio
You can use below code.
<?php
//$image = 'category_page_grid' or 'category_page_list';
$_imagehelper = $this->helper('Magento\Catalog\Helper\Image');
$productImage = $_imagehelper->init($_product, $image)->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(400)->getUrl();
?>
<img src="<?php echo $productImage; ?>" />
You can set "Keep Product Image Aspect Ratio" in magento2 like magento 1.x using image helper.
You can use image helper like this in list file : app\code\Magento\Catalog\view\frontend\templates\product\list.phtml
$_Imagehelper = $this->helper('Magento\Catalog\Helper\Image');
<img src="<?php echo $_Imagehelper->init($_product, 'small_image')->keepAspectRatio(true)->resize('height', 'width'); ?>" />