linea21-core
[ class tree: linea21-core ] [ index: linea21-core ] [ all elements ]

Source for file class.image.php

Documentation is available at class.image.php

  1. <?php
  2. /**
  3.  * @package linea21.core
  4.  * @subpackage system
  5.  * @author linea21 <info@linea21.com>
  6.  * @version $id SVN
  7.  * @access public
  8.  * @license http://opensource.org/licenses/gpl-3.0.html
  9.  *  Manipulate images
  10.  */
  11.  
  12. class image {
  13.   /* @parameters
  14.    * */
  15.   var $IMG_SRC// chemin relatif de l'image
  16.   var $IMG_DEST// chemin de destination de l'image
  17.   var $RATIO// ratio de reduction
  18.  
  19.  
  20.   /**
  21.    * image::IsResizableimage()
  22.    * Determine si un fichier est une image redimmensionnable
  23.    *
  24.    * @access public
  25.    * @param string $img_src 
  26.    * @return boolean 
  27.    */
  28.   function IsResizableimage($img_src)
  29.   {
  30.     include('../languages/' U_L '/lang_system.'CHARSET .'.php');
  31.     $ext_list array ('jpg''jpeg''png');
  32.     $this->IMG_SRC = $img_src;
  33.     $ext explode('.'$this->IMG_SRC);
  34.     $ext $ext[count($ext)-1];
  35.     while (list ($valeach ($ext_list)) {
  36.       if ($ext == $valreturn true;
  37.     }
  38.     return $lang['upload']['no_resize'];
  39.   }
  40.  
  41.   /**
  42.    * image::_GetFormat()
  43.    *     Determine le format d'un image
  44.    *
  45.    * @access private
  46.    * @return string 'L' || 'P'
  47.    */
  48.   function _GetFormat()
  49.   {
  50.     list($width$height$type$attrgetimagesize($this->IMG_SRC);
  51.     if ($width $height{
  52.       return 'L';
  53.     else {
  54.       return 'P';
  55.     }
  56.   }
  57.  
  58.   /**
  59.    * image::ThumbCreate()
  60.    * création d'une image miniature
  61.    *
  62.    * @access public
  63.    * @param string $image_src : Nom et chemin de l'image originale
  64.    * @param string $image_dest : Nom de l'image de destination
  65.    * @param integer $ratio : Largeur de l'image réduite
  66.    * @return boolean 
  67.    */
  68.   function ThumbCreate($image_src$image_dest $ratio = -1)
  69.   {
  70.     $this->IMG_SRC = $image_src;
  71.     $this->IMG_DEST = $image_dest;
  72.     if ($ratio != -1$this->RATIO = $ratio;
  73.  
  74.     $IsResizable $this->IsResizableimage($this->IMG_SRC);
  75.     if (is_string($IsResizable)) return $IsResizable;
  76.     $format $this->_GetFormat();
  77.     list($width$height$type$attrgetimagesize($image_src);
  78.     if ($type == 1$src imagecreatefromgif($image_src);
  79.     if ($type == 2$src imagecreatefromjpeg($image_src);
  80.     if ($type == 3$src imagecreatefrompng($image_src);
  81.     // echo $this->IMG_SRC . "<br />";
  82.     // echo $this->IMG_DEST . "<br />";
  83.     // echo $this->RATIO . "<br />";
  84.     // echo $format . "<br />";
  85.     if ($format == 'L'{
  86.       $im imagecreatetruecolor($this->RATIOfloor(($this->RATIO * $height$width));
  87.       imagecopyresampled($im$src0000$this->RATIOfloor($this->RATIO * $height $width)$width$height);
  88.     elseif ($format == 'P'{
  89.       $im imagecreatetruecolor(floor(($this->RATIO * $width$height)$this->RATIO);
  90.       imagecopyresampled($im$src0000floor($this->RATIO * $width $height)$this->RATIO$width$height);
  91.     }
  92.     if ($type == 1$result imagegif($im$this->IMG_DEST);
  93.     if ($type == 2$result imagejpeg($im$this->IMG_DEST);
  94.     if ($type == 3$result imagepng($im$this->IMG_DEST);
  95.     return $result;
  96.   }
  97. }
  98.  
  99. ?>

Documentation generated on Thu, 03 May 2012 15:02:27 +0200 by phpDocumentor 1.4.1