コード例 #1
0
 /**
  * Create thumbnail for image and save it to thumbnails directory
  *
  * @param string $source Image path to be resized
  * @param bool $keepRation Keep aspect ratio or not
  * @return bool|string Resized filepath or false if errors were occurred
  */
 public function resizeFile($source, $keepRatio = true)
 {
     if (!Mage::helper('uaudio_storage')->isEnabled()) {
         return parent::resizeFile($source, $keepRatio);
     }
     if (!$this->_getStorageModel()->fileExists($source)) {
         return false;
     }
     try {
         $targetFile = str_replace('//', '/', $this->getThumbsPath($source)) . DS . pathinfo($source, PATHINFO_BASENAME);
         if (!$this->_getStorageModel()->fileExists($targetFile)) {
             $tmpName = $this->_getStorageModel()->copyFileToTmp($source);
             $image = Varien_Image_Adapter::factory('GD2');
             $image->open($tmpName);
             $width = $this->getConfigData('resize_width');
             $height = $this->getConfigData('resize_height');
             $image->keepAspectRatio($keepRatio);
             $image->resize($width, $height);
             $image->save($tmpName);
             $dest = $this->_getStorageModel()->moveFile($tmpName, $targetFile);
             return $dest;
         } else {
             return $this->_getStorageModel()->getRelativeDestination($targetFile);
         }
     } catch (Exception $e) {
         Mage::logException($e);
         return false;
     }
 }
コード例 #2
0
 public function resizeImg($fileName, $width, $height = null)
 {
     //$fileName = 'slideshow\slides\\'.$fileName;
     $folderURL = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
     $imageURL = $folderURL . $fileName;
     $basePath = Mage::getBaseDir(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS . 'slideshow' . DS . 'slides' . DS . $fileName;
     $newPath = Mage::getBaseDir(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS . 'slideshow' . DS . 'slides' . DS . 'thumbs' . DS . $fileName;
     //if width empty then return original size image's URL
     if ($width != '') {
         //if image has already resized then just return URL
         if (file_exists($basePath) && is_file($basePath) && !file_exists($newPath)) {
             $imageObj = Varien_Image_Adapter::factory('GD2');
             $imageObj->constrainOnly(true);
             $imageObj->keepAspectRatio(true);
             $imageObj->keepFrame(true);
             $imageObj->backgroundColor(array(255, 255, 255));
             $imageObj->open($basePath);
             $imageObj->resize($width, $height);
             $imageObj->save($newPath);
         }
         $resizedURL = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'resized' . DS . $fileName;
     } else {
         $resizedURL = $imageURL;
     }
     return $resizedURL;
 }
コード例 #3
0
ファイル: WysiwygController.php プロジェクト: quyip8818/Mag
 /**
  * Template directives callback
  *
  * TODO: move this to some model
  */
 public function directiveAction()
 {
     $directive = $this->getRequest()->getParam('___directive');
     $directive = Mage::helper('core')->urlDecode($directive);
     $url = Mage::getModel('cms/adminhtml_template_filter')->filter($directive);
     try {
         $image = Varien_Image_Adapter::factory('GD2');
         $image->open($url);
         $image->display();
     } catch (Exception $e) {
         $image = Varien_Image_Adapter::factory('GD2');
         $image->open(Mage::getSingleton('cms/wysiwyg_config')->getSkinImagePlaceholderPath());
         $image->display();
         /*
         $image = imagecreate(100, 100);
         $bkgrColor = imagecolorallocate($image,10,10,10);
         imagefill($image,0,0,$bkgrColor);
         $textColor = imagecolorallocate($image,255,255,255);
         imagestring($image, 4, 10, 10, 'Skin image', $textColor);
         header('Content-type: image/png');
         imagepng($image);
         imagedestroy($image);
         */
     }
 }
コード例 #4
0
ファイル: Adapter.php プロジェクト: nemphys/magento2
 /**
  * Checks if choosen image adapter available
  *
  * @throws Mage_Core_Exception if some of adapter dipendencies was not loaded
  * @return Mage_Adminhtml_Model_System_Config_Backend_File
  */
 protected function _beforeSave()
 {
     $value = $this->getValue();
     $adapter = Varien_Image_Adapter::factory($value);
     try {
         $adapter->checkDependencies();
     } catch (Exception $e) {
         $message = Mage::helper('Mage_Core_Helper_Data')->__('The specified image adapter cannot be used because of some missed dependencies.');
         throw new Mage_Core_Exception($message);
     }
     return $this;
 }
コード例 #5
0
 /**
  * Template directives callback
  *
  * TODO: move this to some model
  */
 public function directiveAction()
 {
     $directive = $this->getRequest()->getParam('___directive');
     $directive = Mage::helper('core')->urlDecode($directive);
     $url = Mage::getModel('cms/adminhtml_template_filter')->filter($directive);
     try {
         $image = Varien_Image_Adapter::factory('GD2');
         $image->open($url);
         $image->display();
     } catch (Exception $e) {
         $image = Varien_Image_Adapter::factory('GD2');
         $image->open(Mage::getSingleton('cms/wysiwyg_config')->getSkinImagePlaceholderPath());
         $image->display();
     }
 }
コード例 #6
0
ファイル: ImageController.php プロジェクト: sshegde123/wmp8
 public function directiveAction()
 {
     $directive = $this->getRequest()->getParam("___directive");
     $directive = Mage::helper("core")->urlDecode($directive);
     $url = Mage::getModel("core/email_template_filter")->filter($directive);
     try {
         $image = Varien_Image_Adapter::factory("GD2");
         $image->open($url);
         $image->display();
     } catch (Exception $e) {
         $image = Varien_Image_Adapter::factory("GD2");
         $image->open(Mage::getSingleton("cms/wysiwyg_config")->getSkinImagePlaceholderUrl());
         $image->display();
     }
 }
コード例 #7
0
 /**
  * Template directives callback
  *
  * TODO: move this to some model
  */
 public function directiveAction()
 {
     $directive = $this->getRequest()->getParam('___directive');
     $directive = Mage::helper('Mage_Core_Helper_Data')->urlDecode($directive);
     $url = Mage::getModel('Mage_Core_Model_Email_Template_Filter')->filter($directive);
     $adapter = Mage::helper('Mage_Core_Helper_Data')->getImageAdapterType();
     $image = Varien_Image_Adapter::factory($adapter);
     $response = $this->getResponse();
     try {
         $image->open($url);
         $response->setHeader('Content-Type', $image->getMimeType())->setBody($image->getImage());
     } catch (Exception $e) {
         $image->open(Mage::getSingleton('Mage_Cms_Model_Wysiwyg_Config')->getSkinImagePlaceholderUrl());
         $response->setHeader('Content-Type', $image->getMimeType())->setBody($image->getImage());
         Mage::logException($e);
     }
 }
コード例 #8
0
 public function directiveAction()
 {
     if (!Mage::helper('uaudio_storage')->isEnabled()) {
         return parent::directiveAction();
     }
     $storageModel = Mage::getSingleton('core/file_storage')->getStorageModel();
     $directive = $this->getRequest()->getParam('___directive');
     $directive = Mage::helper('core')->urlDecode($directive);
     $url = Mage::getModel('cms/adminhtml_template_filter')->filter($directive);
     if ($storageModel->fileExists($url)) {
         $url = ltrim(str_replace(Mage::getBaseDir('media'), '', $url), '/');
         $this->getResponse()->setRedirect(Mage::getBaseUrl('media') . $url);
     } else {
         $image = Varien_Image_Adapter::factory('GD2');
         $image->open(Mage::getSingleton('cms/wysiwyg_config')->getSkinImagePlaceholderPath());
         $image->display();
     }
 }
コード例 #9
0
 /**
  * Resize image and create cached file with the new size.
  *
  * @param $source
  * @param $width
  * @param $height
  * @param bool $keep_ration
  * @return bool|string
  */
 private function _resizeImage($source, $width, $height, $keep_ration = true)
 {
     $path_media = Mage::getBaseDir('media');
     if (!is_file($path_media . $source) || !is_readable($path_media . $source)) {
         return false;
     }
     $path_image = Mage::app()->getStore()->getConfig('slider/options/folder');
     $path_cache = $path_media . $path_image . DS . 'cache' . DS . $width . 'x' . $height;
     $this->checkFolderExists($path_cache);
     $image = Varien_Image_Adapter::factory('GD2');
     $image->open($path_media . $source);
     $image->keepAspectRatio($keep_ration);
     $image->resize($width, $height);
     $_destination = $path_cache . DS . pathinfo($source, PATHINFO_BASENAME);
     $image->save($_destination);
     if (is_file($_destination)) {
         return $_destination;
     }
     return false;
 }
コード例 #10
0
ファイル: Image.php プロジェクト: evinw/project_bloom_magento
 /**
  * Retrieve image adapter object
  *
  * @param string $adapter
  * @return Varien_Image_Adapter_Abstract
  */
 protected function _getAdapter($adapter = null)
 {
     if (!isset($this->_adapter)) {
         $this->_adapter = Varien_Image_Adapter::factory($adapter);
     }
     return $this->_adapter;
 }
コード例 #11
0
 /**
  * Generate image thumbnail on the fly
  */
 public function thumbnailAction()
 {
     $file = $this->getRequest()->getParam('file');
     $file = Mage::helper('cms/wysiwyg_images')->idDecode($file);
     $thumb = $this->getStorage()->resizeOnTheFly($file);
     if ($thumb !== false) {
         $image = Varien_Image_Adapter::factory('GD2');
         $image->open($thumb);
         $image->display();
     } else {
         // todo: genearte some placeholder
     }
 }
コード例 #12
0
 /**
  * Create thumbnail for image and save it to thumbnails directory
  *
  * @param string $source Image path to be resized
  * @param bool $keepRation Keep aspect ratio or not
  * @return bool|string Resized filepath or false if errors were occurred
  */
 public function resizeFile($source, $keepRation = true)
 {
     if (!is_file($source) || !is_readable($source)) {
         return false;
     }
     $targetDir = $this->getThumbsPath($source);
     $io = new Varien_Io_File();
     if (!$io->isWriteable($targetDir)) {
         $io->mkdir($targetDir);
     }
     if (!$io->isWriteable($targetDir)) {
         return false;
     }
     $image = Varien_Image_Adapter::factory('GD2');
     $image->open($source);
     $width = $this->getConfigData('resize_width');
     $height = $this->getConfigData('resize_height');
     $image->keepAspectRatio($keepRation);
     $image->resize($width, $height);
     $dest = $targetDir . DS . pathinfo($source, PATHINFO_BASENAME);
     $image->save($dest);
     if (is_file($dest)) {
         return $dest;
     }
     return false;
 }
コード例 #13
0
 /**
  * Generate image thumbnail on the fly
  */
 public function thumbnailAction()
 {
     $file = $this->getRequest()->getParam('file');
     $file = Mage::helper('Mage_Cms_Helper_Wysiwyg_Images')->idDecode($file);
     $thumb = $this->getStorage()->resizeOnTheFly($file);
     if ($thumb !== false) {
         $adapter = Mage::helper('Mage_Core_Helper_Data')->getImageAdapterType();
         $image = Varien_Image_Adapter::factory($adapter);
         $image->open($thumb);
         $this->getResponse()->setHeader('Content-Type', $image->getMimeType())->setBody($image->getImage());
     } else {
         // todo: genearte some placeholder
     }
 }
コード例 #14
0
 public function adaptersDataProvider()
 {
     $data = array();
     foreach ($this->_adapters as $adapter) {
         $data[] = array(Varien_Image_Adapter::factory($adapter));
     }
     return $data;
 }
コード例 #15
0
ファイル: Storage.php プロジェクト: natxetee/magento2
 /**
  * Create thumbnail for image and save it to thumbnails directory
  *
  * @param string $source Image path to be resized
  * @param bool $keepRation Keep aspect ratio or not
  * @return bool|string Resized filepath or false if errors were occurred
  */
 public function resizeFile($source, $keepRation = true)
 {
     if (!$this->_filesystem->isFile($source) || !$this->_filesystem->isReadable($source)) {
         return false;
     }
     $targetDir = $this->getThumbsPath($source);
     if (!$this->_filesystem->isWritable($targetDir)) {
         $this->_filesystem->createDirectory($targetDir);
     }
     if (!$this->_filesystem->isWritable($targetDir)) {
         return false;
     }
     $adapter = Mage::helper('Mage_Core_Helper_Data')->getImageAdapterType();
     $image = Varien_Image_Adapter::factory($adapter);
     $image->open($source);
     $width = $this->getConfigData('resize_width');
     $height = $this->getConfigData('resize_height');
     $image->keepAspectRatio($keepRation);
     $image->resize($width, $height);
     $dest = $targetDir . DS . pathinfo($source, PATHINFO_BASENAME);
     $image->save($dest);
     if ($this->_filesystem->isFile($dest)) {
         return $dest;
     }
     return false;
 }
コード例 #16
0
 /**
  * @param $value
  * @return Varien_Image_Adapter_Gd2|Varien_Image_Adapter_Imagemagic|Varien_Image_Adapter_ImagemagicExternal
  */
 public function getImageAdapter($value)
 {
     return Varien_Image_Adapter::factory($value);
 }
コード例 #17
0
ファイル: Abstract.php プロジェクト: shebin512/Magento_Zoff
 /**
  * get the image processor
  *
  * @access protected
  * @return Varien_Image_Adapter_Gd2
  * @author Ultimate Module Creator
  */
 protected function _getImageProcessor()
 {
     if (is_null($this->_imageProcessor)) {
         $this->_imageProcessor = Varien_Image_Adapter::factory('GD2');
         $this->_imageProcessor->keepFrame($this->_keepFrame);
         $this->_imageProcessor->keepAspectRatio($this->_keepAspectRatio);
         $this->_imageProcessor->constrainOnly($this->_constrainOnly);
     }
     return $this->_imageProcessor;
 }
コード例 #18
0
 /**
  * @param $source
  * @return bool|string
  */
 public function createThumbnail($source)
 {
     if (!is_file($this->getImagesPath() . $source) || !is_readable($this->getImagesPath() . $source)) {
         return false;
     }
     $io = new Varien_Io_File();
     if (!$io->isWriteable($this->getThumbnailsPath())) {
         $io->mkdir($this->getThumbnailsPath());
     }
     if (!$io->isWriteable($this->getThumbnailsPath())) {
         return false;
     }
     $image = Varien_Image_Adapter::factory('GD2');
     $image->open($this->getImagesPath() . $source);
     $width = Mage::app()->getStore()->getConfig('slider/thumbnail/width');
     $height = Mage::app()->getStore()->getConfig('slider/thumbnail/height');
     $image->keepAspectRatio(true);
     $image->resize($width, $height);
     $destination = $this->getThumbnailsPath() . pathinfo($source, PATHINFO_BASENAME);
     $image->save($destination);
     if (is_file($destination)) {
         return $destination;
     }
     return false;
 }