Case 1. Suppose you want to resize image with the fixed width of 450px
<?php
echo $this->helper('catalog/image')->init($_product, 'image')
->constrainOnly(TRUE)
->keepAspectRatio(TRUE)
->keepFrame(FALSE)
->resize(450,null)
?>
Case 2. Suppose you want to resize image with the fixed height of 450px
<?php
echo $this->helper('catalog/image')->init($_product, 'image')
->constrainOnly(TRUE)
->keepAspectRatio(TRUE)
->keepFrame(FALSE)
->resize(null,450)
?>
Case 3. Suppose you want to resize resize image proportionally and not let the image be greater than height and width specified.
<?php
echo $this->helper('catalog/image')->init($_product, 'image')
->constrainOnly(TRUE)
->keepAspectRatio(TRUE)
->keepFrame(FALSE)
->resize(400,400)
?>
Now here are the description of the functions used:
1. constrainOnly(bool $flag)
It is just for to make sure that image picture will not be bigger than its actual size. Its only applicable before calling resize(), otherwise it is false by default.
2. keepAspectRatio(bool $flag)
It is just for to make sure that image picture width/height will not be distorted. Its applicable before calling resize(), It is true by default.
3. keepFrame(bool $flag)
It is just for to make sure that image will have dimensions, set in $width/$height. Its applicable before calling resize(), Not applicable, if keepAspectRatio(false).
You can also resize the images by using the Varien_Image class. This is most suitable when you are not resizing the catalog product images.
Step 1. Suppose you want to resize a image which is not the catalog product image, but you have the actual image path:
$actualimageUrl = Mage::getBaseDir(‘media’).DS.”EWA”.DS.$post->getThumbnail();
// actual path of image
Step 2. Now I am going to save the resized image into the EWA/resized
$ResizedimageUrl = Mage::getBaseDir(‘media’).DS.”EWA”.DS.”resized”.DS.$post->getThumbnail();
Step 3. Condition to check and resize image only if the image file exists and the resized image file doesn’t exist
Here we want to resize the image proportionally with the same height and width suppose 100px;
<?php
if (!file_exists($imageResized)&&file_exists($actualimageUrl)) :
$imageObj = new Varien_Image($actualimageUrl);
$imageObj->constrainOnly(TRUE);
$imageObj->keepAspectRatio(TRUE);
$imageObj->keepFrame(FALSE);
$imageObj->resize(100, 100);
$imageObj->save($ResizedimageUrl);
endif;
?>
Step 4. Now you can display the resized image by using the syntax given below:
<img src=”<?php echo Mage::getBaseUrl(‘media’).”EWA/resized/”.$post->getThumbnail(); ?>” />
Full Code are given below:
<?php
$actualimageUrl = Mage::getBaseDir(‘media’).DS.”EWA”.DS.$post->getThumbnail();
// actual path of image
$ResizedimageUrl = Mage::getBaseDir(‘media’).DS.”EWA”.DS.”resized”.DS.$post->getThumbnail();
//save the resized image into the EWA/resized
if (!file_exists($imageResized)&&file_exists($actualimageUrl)) :
$imageObj = new Varien_Image($actualimageUrl);
$imageObj->constrainOnly(TRUE);
$imageObj->keepAspectRatio(TRUE);
$imageObj->keepFrame(FALSE);
$imageObj->resize(100, 100);
$imageObj->save($ResizedimageUrl);
endif;
?>
<img src=”<?php echo Mage::getBaseUrl(‘media’).”EWA/resized/”.$post->getThumbnail(); ?>” />