Esempio n. 1
0
 /**
  * Parse, filter and sort options.
  *
  * @param unknown_type $options
  * @throws Exception
  */
 protected function parse_params($params)
 {
     global $core;
     #
     # handle the 'version' parameter
     #
     if (isset($params['v'])) {
         $params['version'] = $params['v'];
     }
     if (isset($params['version'])) {
         $version_name = $params['version'];
         $versions = $core->thumbnailer_versions;
         $version = $versions[$version_name];
         $params += $version->to_array(Version::ARRAY_FILTER);
         unset($params['version']);
     }
     #
     $params = Version::normalize($params);
     if (empty($params['background'])) {
         $params['background'] = 'transparent';
     }
     if ($params['format'] == 'jpeg' && $params['background'] == 'transparent') {
         $params['background'] = 'white';
     }
     Image::assert_sizes($params['method'], $params['width'], $params['height']);
     return $params;
 }
Esempio n. 2
0
 /**
  * Constructor.
  *
  * @param Icybee\Modules\Images\Image|int|string The souce of the thumbnail.
  *
  * @param string|array $options The options to create the thumbnail can be provided as a
  * version name or an array of options. If a version name is provided, the `image` parameter
  * must also be provided.
  *
  * @param string|array $additionnal_options Additionnal options to create the thumbnail.
  */
 public function __construct($src, $options = null, $additionnal_options = null)
 {
     if (is_string($options)) {
         if (strpos($options, ':') !== false) {
             $options = Version::unserialize($options);
         } else {
             $this->version_name = $options;
         }
     }
     if (is_array($options)) {
         $this->options = Version::normalize($options);
     }
     if ($additionnal_options) {
         if (is_string($additionnal_options)) {
             $additionnal_options = Version::unserialize($additionnal_options);
         }
         $this->options = $additionnal_options + $this->options;
     }
     $this->src = $src;
 }