Magento 2 product image custom resize The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Magento 2: How to get resize image for Custom Module?Magento 2 - Product images from custom blockGet product collection filter by from and to date in magento2.Product Image Animated Gif - Reduce image size on Frontend (Magento 1.9.2.4 )Magento2: How to update the product price programaticallyModel class not found in …/magento/framework/ObjectManager/Factory/AbstractFactory.php:93Magento2: Products group by filterable attributesMagento 2: Plugin class does not existMagento 2 get custom attribute of a single product inside a pluginMagento2 REST API get all customers detailsMagento 2.2.6: Programatically updating product custom options

Using dividends to reduce short term capital gains?

Why can't wing-mounted spoilers be used to steepen approaches?

ELI5: Why do they say that Israel would have been the fourth country to land a spacecraft on the Moon and why do they call it low cost?

Was credit for the black hole image misappropriated?

Why did Peik Lin say, "I'm not an animal"?

Do ℕ, mathbbN, BbbN, symbbN effectively differ, and is there a "canonical" specification of the naturals?

Homework question about an engine pulling a train

Huge performance difference of the command find with and without using %M option to show permissions

Drawing vertical/oblique lines in Metrical tree (tikz-qtree, tipa)

How did the audience guess the pentatonic scale in Bobby McFerrin's presentation?

Working through the single responsibility principle (SRP) in Python when calls are expensive

What aspect of planet Earth must be changed to prevent the industrial revolution?

Why not take a picture of a closer black hole?

Could an empire control the whole planet with today's comunication methods?

How to politely respond to generic emails requesting a PhD/job in my lab? Without wasting too much time

Can withdrawing asylum be illegal?

Is this wall load bearing? Blueprints and photos attached

Is 'stolen' appropriate word?

Can we generate random numbers using irrational numbers like π and e?

Word for: a synonym with a positive connotation?

What happens to a Warlock's expended Spell Slots when they gain a Level?

Python - Fishing Simulator

Do warforged have souls?

Why are PDP-7-style microprogrammed instructions out of vogue?



Magento 2 product image custom resize



The 2019 Stack Overflow Developer Survey Results Are In
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Magento 2: How to get resize image for Custom Module?Magento 2 - Product images from custom blockGet product collection filter by from and to date in magento2.Product Image Animated Gif - Reduce image size on Frontend (Magento 1.9.2.4 )Magento2: How to update the product price programaticallyModel class not found in …/magento/framework/ObjectManager/Factory/AbstractFactory.php:93Magento2: Products group by filterable attributesMagento 2: Plugin class does not existMagento 2 get custom attribute of a single product inside a pluginMagento2 REST API get all customers detailsMagento 2.2.6: Programatically updating product custom options



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I have created custom attribute for featured product and fetched the product collection using object manager.



 <?php 
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$priceHelper = $objectManager->create('MagentoFrameworkPricingHelperData');

$collection = $objectManager->create('MagentoCatalogModelResourceModelProductCollection')
->addAttributeToSelect('*')
->addAttributeToFilter('newest_product',['eq'=>1])
->addAttributeToFilter('status',MagentoCatalogModelProductAttributeSourceStatus::STATUS_ENABLED)
->load();

foreach ($collection as $product)

$pdata = $product->getData();
$store = $objectManager->get('MagentoStoreModelStoreManagerInterface')->getStore();
$imageUrl = $store->getBaseUrl(MagentoFrameworkUrlInterface::URL_TYPE_MEDIA) . 'catalog/product' . $product->getImage();


?>


Here $imageUrl Returns the full image of the Product while I want the image of 300X400



I am trying to get the 300X400 size image in $imageurl code but not sure how to get the resized image. If you see the code, I have not used the helper method.



Need help to resize the product image to 300X400.



Any help would be appreciated.










share|improve this question
















bumped to the homepage by Community 6 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.















  • Try this. magento.stackexchange.com/questions/134360/…

    – Raghav
    Oct 23 '17 at 11:30











  • Thanks for your message. I am using object manger method not factory method. Also, not developed custom module for this. i have created custom template file and called it in cms page.

    – jack
    Oct 23 '17 at 11:35











  • I have used object manger. Is it standard way to do this or i need to use factory method? Perfomance is my main concern so which method i should use?

    – jack
    Oct 23 '17 at 13:00











  • Check link, rakeshjesadiya.com/how-to-resize-product-image-in-magento-2

    – Rakesh Jesadiya
    Nov 19 '18 at 8:50

















1















I have created custom attribute for featured product and fetched the product collection using object manager.



 <?php 
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$priceHelper = $objectManager->create('MagentoFrameworkPricingHelperData');

$collection = $objectManager->create('MagentoCatalogModelResourceModelProductCollection')
->addAttributeToSelect('*')
->addAttributeToFilter('newest_product',['eq'=>1])
->addAttributeToFilter('status',MagentoCatalogModelProductAttributeSourceStatus::STATUS_ENABLED)
->load();

foreach ($collection as $product)

$pdata = $product->getData();
$store = $objectManager->get('MagentoStoreModelStoreManagerInterface')->getStore();
$imageUrl = $store->getBaseUrl(MagentoFrameworkUrlInterface::URL_TYPE_MEDIA) . 'catalog/product' . $product->getImage();


?>


Here $imageUrl Returns the full image of the Product while I want the image of 300X400



I am trying to get the 300X400 size image in $imageurl code but not sure how to get the resized image. If you see the code, I have not used the helper method.



Need help to resize the product image to 300X400.



Any help would be appreciated.










share|improve this question
















bumped to the homepage by Community 6 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.















  • Try this. magento.stackexchange.com/questions/134360/…

    – Raghav
    Oct 23 '17 at 11:30











  • Thanks for your message. I am using object manger method not factory method. Also, not developed custom module for this. i have created custom template file and called it in cms page.

    – jack
    Oct 23 '17 at 11:35











  • I have used object manger. Is it standard way to do this or i need to use factory method? Perfomance is my main concern so which method i should use?

    – jack
    Oct 23 '17 at 13:00











  • Check link, rakeshjesadiya.com/how-to-resize-product-image-in-magento-2

    – Rakesh Jesadiya
    Nov 19 '18 at 8:50













1












1








1








I have created custom attribute for featured product and fetched the product collection using object manager.



 <?php 
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$priceHelper = $objectManager->create('MagentoFrameworkPricingHelperData');

$collection = $objectManager->create('MagentoCatalogModelResourceModelProductCollection')
->addAttributeToSelect('*')
->addAttributeToFilter('newest_product',['eq'=>1])
->addAttributeToFilter('status',MagentoCatalogModelProductAttributeSourceStatus::STATUS_ENABLED)
->load();

foreach ($collection as $product)

$pdata = $product->getData();
$store = $objectManager->get('MagentoStoreModelStoreManagerInterface')->getStore();
$imageUrl = $store->getBaseUrl(MagentoFrameworkUrlInterface::URL_TYPE_MEDIA) . 'catalog/product' . $product->getImage();


?>


Here $imageUrl Returns the full image of the Product while I want the image of 300X400



I am trying to get the 300X400 size image in $imageurl code but not sure how to get the resized image. If you see the code, I have not used the helper method.



Need help to resize the product image to 300X400.



Any help would be appreciated.










share|improve this question
















I have created custom attribute for featured product and fetched the product collection using object manager.



 <?php 
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$priceHelper = $objectManager->create('MagentoFrameworkPricingHelperData');

$collection = $objectManager->create('MagentoCatalogModelResourceModelProductCollection')
->addAttributeToSelect('*')
->addAttributeToFilter('newest_product',['eq'=>1])
->addAttributeToFilter('status',MagentoCatalogModelProductAttributeSourceStatus::STATUS_ENABLED)
->load();

foreach ($collection as $product)

$pdata = $product->getData();
$store = $objectManager->get('MagentoStoreModelStoreManagerInterface')->getStore();
$imageUrl = $store->getBaseUrl(MagentoFrameworkUrlInterface::URL_TYPE_MEDIA) . 'catalog/product' . $product->getImage();


?>


Here $imageUrl Returns the full image of the Product while I want the image of 300X400



I am trying to get the 300X400 size image in $imageurl code but not sure how to get the resized image. If you see the code, I have not used the helper method.



Need help to resize the product image to 300X400.



Any help would be appreciated.







magento2 magento-2.1 product product-images custom






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Oct 23 '17 at 12:07









Aasim Goriya

2,92611039




2,92611039










asked Oct 23 '17 at 11:27









jackjack

461722




461722





bumped to the homepage by Community 6 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







bumped to the homepage by Community 6 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.














  • Try this. magento.stackexchange.com/questions/134360/…

    – Raghav
    Oct 23 '17 at 11:30











  • Thanks for your message. I am using object manger method not factory method. Also, not developed custom module for this. i have created custom template file and called it in cms page.

    – jack
    Oct 23 '17 at 11:35











  • I have used object manger. Is it standard way to do this or i need to use factory method? Perfomance is my main concern so which method i should use?

    – jack
    Oct 23 '17 at 13:00











  • Check link, rakeshjesadiya.com/how-to-resize-product-image-in-magento-2

    – Rakesh Jesadiya
    Nov 19 '18 at 8:50

















  • Try this. magento.stackexchange.com/questions/134360/…

    – Raghav
    Oct 23 '17 at 11:30











  • Thanks for your message. I am using object manger method not factory method. Also, not developed custom module for this. i have created custom template file and called it in cms page.

    – jack
    Oct 23 '17 at 11:35











  • I have used object manger. Is it standard way to do this or i need to use factory method? Perfomance is my main concern so which method i should use?

    – jack
    Oct 23 '17 at 13:00











  • Check link, rakeshjesadiya.com/how-to-resize-product-image-in-magento-2

    – Rakesh Jesadiya
    Nov 19 '18 at 8:50
















Try this. magento.stackexchange.com/questions/134360/…

– Raghav
Oct 23 '17 at 11:30





Try this. magento.stackexchange.com/questions/134360/…

– Raghav
Oct 23 '17 at 11:30













Thanks for your message. I am using object manger method not factory method. Also, not developed custom module for this. i have created custom template file and called it in cms page.

– jack
Oct 23 '17 at 11:35





Thanks for your message. I am using object manger method not factory method. Also, not developed custom module for this. i have created custom template file and called it in cms page.

– jack
Oct 23 '17 at 11:35













I have used object manger. Is it standard way to do this or i need to use factory method? Perfomance is my main concern so which method i should use?

– jack
Oct 23 '17 at 13:00





I have used object manger. Is it standard way to do this or i need to use factory method? Perfomance is my main concern so which method i should use?

– jack
Oct 23 '17 at 13:00













Check link, rakeshjesadiya.com/how-to-resize-product-image-in-magento-2

– Rakesh Jesadiya
Nov 19 '18 at 8:50





Check link, rakeshjesadiya.com/how-to-resize-product-image-in-magento-2

– Rakesh Jesadiya
Nov 19 '18 at 8:50










1 Answer
1






active

oldest

votes


















0














Please check following steps for custom resize



Create a custom block



VendorModuleBlockImageresize;


in Imageresize.php



<?php
namespace VendorModuleBlock;

use MagentoStoreModelStoreManagerInterface;

class Imageresize extends MagentoFrameworkViewElementTemplate

protected $_filesystem ;
protected $_imageFactory;
protected $_storeManager;
protected $_objectManager;

public function __construct(
MagentoFrameworkFilesystem $filesystem,
MagentoFrameworkObjectManagerInterface $objectManager,
StoreManagerInterface $storeManager,
MagentoFrameworkImageAdapterFactory $imageFactory
)
$this->_filesystem = $filesystem;
$this->_imageFactory = $imageFactory;
$this->_objectManager = $objectManager;
$this->_storeManager = $storeManager;


// pass imagename, width and height
public function resize($image, $width = null, $height = null)

$absolutePath = $this->_filesystem->getDirectoryRead(MagentoFrameworkAppFilesystemDirectoryList::ROOT)->getAbsolutePath('wordpress/wp-content/uploads/').$image;

$imageResized = $this->_filesystem->getDirectoryRead(MagentoFrameworkAppFilesystemDirectoryList::MEDIA)->getAbsolutePath('resized/'.$width.'/').$image;
//create image factory...
$imageResize = $this->_imageFactory->create();
$imageResize->open($absolutePath);
$imageResize->constrainOnly(TRUE);
$imageResize->keepTransparency(TRUE);
$imageResize->keepFrame(FALSE);
$imageResize->keepAspectRatio(TRUE);
$imageResize->resize($width,$height);
//destination folder
$destination = $imageResized;
//save image
$imageResize->save($destination);

$resizedURL = $this->_storeManager->getStore()->getBaseUrl(MagentoFrameworkUrlInterface::URL_TYPE_MEDIA).'resized/'.$width.'/'.$image;

return $resizedURL;


?>


Now you can call your custom block function in anywhere in .phtml file.
using following code in your .phtml



$resizeBlock = $block->getLayout()->createBlock('VendorModuleBlockImageresize'); 
$imgResized = $resizeBlock->resize($image->getFile(),300,400);





share|improve this answer























  • How can i call it in other module's phtml file?

    – jack
    Oct 23 '17 at 12:24






  • 1





    Yes, you can use in any .phtml in magento2

    – Aasim Goriya
    Oct 23 '17 at 12:25











  • @jack have you get the solution ?

    – Aasim Goriya
    Oct 23 '17 at 13:05











  • this code will create the image on every request - you need to add a check for whether the file exists before firing up the image processor, if(file_exists($imageResized)) return the url;

    – pixiemedia
    Feb 4 '18 at 11:37











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f198214%2fmagento-2-product-image-custom-resize%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














Please check following steps for custom resize



Create a custom block



VendorModuleBlockImageresize;


in Imageresize.php



<?php
namespace VendorModuleBlock;

use MagentoStoreModelStoreManagerInterface;

class Imageresize extends MagentoFrameworkViewElementTemplate

protected $_filesystem ;
protected $_imageFactory;
protected $_storeManager;
protected $_objectManager;

public function __construct(
MagentoFrameworkFilesystem $filesystem,
MagentoFrameworkObjectManagerInterface $objectManager,
StoreManagerInterface $storeManager,
MagentoFrameworkImageAdapterFactory $imageFactory
)
$this->_filesystem = $filesystem;
$this->_imageFactory = $imageFactory;
$this->_objectManager = $objectManager;
$this->_storeManager = $storeManager;


// pass imagename, width and height
public function resize($image, $width = null, $height = null)

$absolutePath = $this->_filesystem->getDirectoryRead(MagentoFrameworkAppFilesystemDirectoryList::ROOT)->getAbsolutePath('wordpress/wp-content/uploads/').$image;

$imageResized = $this->_filesystem->getDirectoryRead(MagentoFrameworkAppFilesystemDirectoryList::MEDIA)->getAbsolutePath('resized/'.$width.'/').$image;
//create image factory...
$imageResize = $this->_imageFactory->create();
$imageResize->open($absolutePath);
$imageResize->constrainOnly(TRUE);
$imageResize->keepTransparency(TRUE);
$imageResize->keepFrame(FALSE);
$imageResize->keepAspectRatio(TRUE);
$imageResize->resize($width,$height);
//destination folder
$destination = $imageResized;
//save image
$imageResize->save($destination);

$resizedURL = $this->_storeManager->getStore()->getBaseUrl(MagentoFrameworkUrlInterface::URL_TYPE_MEDIA).'resized/'.$width.'/'.$image;

return $resizedURL;


?>


Now you can call your custom block function in anywhere in .phtml file.
using following code in your .phtml



$resizeBlock = $block->getLayout()->createBlock('VendorModuleBlockImageresize'); 
$imgResized = $resizeBlock->resize($image->getFile(),300,400);





share|improve this answer























  • How can i call it in other module's phtml file?

    – jack
    Oct 23 '17 at 12:24






  • 1





    Yes, you can use in any .phtml in magento2

    – Aasim Goriya
    Oct 23 '17 at 12:25











  • @jack have you get the solution ?

    – Aasim Goriya
    Oct 23 '17 at 13:05











  • this code will create the image on every request - you need to add a check for whether the file exists before firing up the image processor, if(file_exists($imageResized)) return the url;

    – pixiemedia
    Feb 4 '18 at 11:37















0














Please check following steps for custom resize



Create a custom block



VendorModuleBlockImageresize;


in Imageresize.php



<?php
namespace VendorModuleBlock;

use MagentoStoreModelStoreManagerInterface;

class Imageresize extends MagentoFrameworkViewElementTemplate

protected $_filesystem ;
protected $_imageFactory;
protected $_storeManager;
protected $_objectManager;

public function __construct(
MagentoFrameworkFilesystem $filesystem,
MagentoFrameworkObjectManagerInterface $objectManager,
StoreManagerInterface $storeManager,
MagentoFrameworkImageAdapterFactory $imageFactory
)
$this->_filesystem = $filesystem;
$this->_imageFactory = $imageFactory;
$this->_objectManager = $objectManager;
$this->_storeManager = $storeManager;


// pass imagename, width and height
public function resize($image, $width = null, $height = null)

$absolutePath = $this->_filesystem->getDirectoryRead(MagentoFrameworkAppFilesystemDirectoryList::ROOT)->getAbsolutePath('wordpress/wp-content/uploads/').$image;

$imageResized = $this->_filesystem->getDirectoryRead(MagentoFrameworkAppFilesystemDirectoryList::MEDIA)->getAbsolutePath('resized/'.$width.'/').$image;
//create image factory...
$imageResize = $this->_imageFactory->create();
$imageResize->open($absolutePath);
$imageResize->constrainOnly(TRUE);
$imageResize->keepTransparency(TRUE);
$imageResize->keepFrame(FALSE);
$imageResize->keepAspectRatio(TRUE);
$imageResize->resize($width,$height);
//destination folder
$destination = $imageResized;
//save image
$imageResize->save($destination);

$resizedURL = $this->_storeManager->getStore()->getBaseUrl(MagentoFrameworkUrlInterface::URL_TYPE_MEDIA).'resized/'.$width.'/'.$image;

return $resizedURL;


?>


Now you can call your custom block function in anywhere in .phtml file.
using following code in your .phtml



$resizeBlock = $block->getLayout()->createBlock('VendorModuleBlockImageresize'); 
$imgResized = $resizeBlock->resize($image->getFile(),300,400);





share|improve this answer























  • How can i call it in other module's phtml file?

    – jack
    Oct 23 '17 at 12:24






  • 1





    Yes, you can use in any .phtml in magento2

    – Aasim Goriya
    Oct 23 '17 at 12:25











  • @jack have you get the solution ?

    – Aasim Goriya
    Oct 23 '17 at 13:05











  • this code will create the image on every request - you need to add a check for whether the file exists before firing up the image processor, if(file_exists($imageResized)) return the url;

    – pixiemedia
    Feb 4 '18 at 11:37













0












0








0







Please check following steps for custom resize



Create a custom block



VendorModuleBlockImageresize;


in Imageresize.php



<?php
namespace VendorModuleBlock;

use MagentoStoreModelStoreManagerInterface;

class Imageresize extends MagentoFrameworkViewElementTemplate

protected $_filesystem ;
protected $_imageFactory;
protected $_storeManager;
protected $_objectManager;

public function __construct(
MagentoFrameworkFilesystem $filesystem,
MagentoFrameworkObjectManagerInterface $objectManager,
StoreManagerInterface $storeManager,
MagentoFrameworkImageAdapterFactory $imageFactory
)
$this->_filesystem = $filesystem;
$this->_imageFactory = $imageFactory;
$this->_objectManager = $objectManager;
$this->_storeManager = $storeManager;


// pass imagename, width and height
public function resize($image, $width = null, $height = null)

$absolutePath = $this->_filesystem->getDirectoryRead(MagentoFrameworkAppFilesystemDirectoryList::ROOT)->getAbsolutePath('wordpress/wp-content/uploads/').$image;

$imageResized = $this->_filesystem->getDirectoryRead(MagentoFrameworkAppFilesystemDirectoryList::MEDIA)->getAbsolutePath('resized/'.$width.'/').$image;
//create image factory...
$imageResize = $this->_imageFactory->create();
$imageResize->open($absolutePath);
$imageResize->constrainOnly(TRUE);
$imageResize->keepTransparency(TRUE);
$imageResize->keepFrame(FALSE);
$imageResize->keepAspectRatio(TRUE);
$imageResize->resize($width,$height);
//destination folder
$destination = $imageResized;
//save image
$imageResize->save($destination);

$resizedURL = $this->_storeManager->getStore()->getBaseUrl(MagentoFrameworkUrlInterface::URL_TYPE_MEDIA).'resized/'.$width.'/'.$image;

return $resizedURL;


?>


Now you can call your custom block function in anywhere in .phtml file.
using following code in your .phtml



$resizeBlock = $block->getLayout()->createBlock('VendorModuleBlockImageresize'); 
$imgResized = $resizeBlock->resize($image->getFile(),300,400);





share|improve this answer













Please check following steps for custom resize



Create a custom block



VendorModuleBlockImageresize;


in Imageresize.php



<?php
namespace VendorModuleBlock;

use MagentoStoreModelStoreManagerInterface;

class Imageresize extends MagentoFrameworkViewElementTemplate

protected $_filesystem ;
protected $_imageFactory;
protected $_storeManager;
protected $_objectManager;

public function __construct(
MagentoFrameworkFilesystem $filesystem,
MagentoFrameworkObjectManagerInterface $objectManager,
StoreManagerInterface $storeManager,
MagentoFrameworkImageAdapterFactory $imageFactory
)
$this->_filesystem = $filesystem;
$this->_imageFactory = $imageFactory;
$this->_objectManager = $objectManager;
$this->_storeManager = $storeManager;


// pass imagename, width and height
public function resize($image, $width = null, $height = null)

$absolutePath = $this->_filesystem->getDirectoryRead(MagentoFrameworkAppFilesystemDirectoryList::ROOT)->getAbsolutePath('wordpress/wp-content/uploads/').$image;

$imageResized = $this->_filesystem->getDirectoryRead(MagentoFrameworkAppFilesystemDirectoryList::MEDIA)->getAbsolutePath('resized/'.$width.'/').$image;
//create image factory...
$imageResize = $this->_imageFactory->create();
$imageResize->open($absolutePath);
$imageResize->constrainOnly(TRUE);
$imageResize->keepTransparency(TRUE);
$imageResize->keepFrame(FALSE);
$imageResize->keepAspectRatio(TRUE);
$imageResize->resize($width,$height);
//destination folder
$destination = $imageResized;
//save image
$imageResize->save($destination);

$resizedURL = $this->_storeManager->getStore()->getBaseUrl(MagentoFrameworkUrlInterface::URL_TYPE_MEDIA).'resized/'.$width.'/'.$image;

return $resizedURL;


?>


Now you can call your custom block function in anywhere in .phtml file.
using following code in your .phtml



$resizeBlock = $block->getLayout()->createBlock('VendorModuleBlockImageresize'); 
$imgResized = $resizeBlock->resize($image->getFile(),300,400);






share|improve this answer












share|improve this answer



share|improve this answer










answered Oct 23 '17 at 11:34









Aasim GoriyaAasim Goriya

2,92611039




2,92611039












  • How can i call it in other module's phtml file?

    – jack
    Oct 23 '17 at 12:24






  • 1





    Yes, you can use in any .phtml in magento2

    – Aasim Goriya
    Oct 23 '17 at 12:25











  • @jack have you get the solution ?

    – Aasim Goriya
    Oct 23 '17 at 13:05











  • this code will create the image on every request - you need to add a check for whether the file exists before firing up the image processor, if(file_exists($imageResized)) return the url;

    – pixiemedia
    Feb 4 '18 at 11:37

















  • How can i call it in other module's phtml file?

    – jack
    Oct 23 '17 at 12:24






  • 1





    Yes, you can use in any .phtml in magento2

    – Aasim Goriya
    Oct 23 '17 at 12:25











  • @jack have you get the solution ?

    – Aasim Goriya
    Oct 23 '17 at 13:05











  • this code will create the image on every request - you need to add a check for whether the file exists before firing up the image processor, if(file_exists($imageResized)) return the url;

    – pixiemedia
    Feb 4 '18 at 11:37
















How can i call it in other module's phtml file?

– jack
Oct 23 '17 at 12:24





How can i call it in other module's phtml file?

– jack
Oct 23 '17 at 12:24




1




1





Yes, you can use in any .phtml in magento2

– Aasim Goriya
Oct 23 '17 at 12:25





Yes, you can use in any .phtml in magento2

– Aasim Goriya
Oct 23 '17 at 12:25













@jack have you get the solution ?

– Aasim Goriya
Oct 23 '17 at 13:05





@jack have you get the solution ?

– Aasim Goriya
Oct 23 '17 at 13:05













this code will create the image on every request - you need to add a check for whether the file exists before firing up the image processor, if(file_exists($imageResized)) return the url;

– pixiemedia
Feb 4 '18 at 11:37





this code will create the image on every request - you need to add a check for whether the file exists before firing up the image processor, if(file_exists($imageResized)) return the url;

– pixiemedia
Feb 4 '18 at 11:37

















draft saved

draft discarded
















































Thanks for contributing an answer to Magento Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f198214%2fmagento-2-product-image-custom-resize%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

Magento 2 disable Secret Key on URL's from terminal The Next CEO of Stack OverflowMagento 2 Shortcut/GUI tool to perform commandline tasks for windowsIn menu add configuration linkMagento oAuth : Generating access token and access secretMagento 2 security key issue in Third-Party API redirect URIPublic actions in admin controllersHow to Disable Cache in Custom WidgetURL Key not changing in Magento 2Product URL Key gets deleted when importing custom options - Magento 2Problem with reindex terminalMagento 2 - bin/magento Commands not working in Cpanel Terminal

Aasi (pallopeli) Navigointivalikko