/** * 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; }
/** * 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; }