File Manager

Current Directory: /home/astoriaah/www/components/com_jce/editor/libraries/pro/classes/image/imagick/filters
Viewing File: /home/astoriaah/www/components/com_jce/editor/libraries/pro/classes/image/imagick/filters/sepia.php
<?php /** * @copyright Copyright (c) 2009-2017 Ryan Demmer. All rights reserved * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved * @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * JCE is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * * Based on JImage library from Joomla.Platform 11.3 */ defined('_JEXEC') or die; /** * Image Filter class adjust the smoothness of an image. */ class WFImageImagickFilterSepia extends WFImageImagickFilter { /** * Method to apply a filter to an image resource. * * @param array $options An array of options for the filter * * @throws InvalidArgumentException * @throws RuntimeException */ public function execute(array $options = array()) { // Verify that image filter support for PHP is available. if (!function_exists('imagefilter')) { throw new RuntimeException('The imagefilter function for PHP is not available.'); } if (empty($options)) { throw new InvalidArgumentException('No valid amount was given. Expected float.'); } $amount = (int) array_shift($options); // Microsoft sepia $ms_sepia = array( 0.393, 0.769, 0.189, 0.349, 0.686, 0.168, 0.272, 0.534, 0.131, ); // colour offset (normalized) $r = round(39 / 255, 3); $g = round(14 / 255, 3); $b = round(-36 / 255, 3); // matrix with greyscale and rgb offsets $sepia = array( 0.299, 0.587, 0.114, 0, 0, $r, 0.299, 0.587, 0.114, 0, 0, $g, 0.299, 0.587, 0.114, 0, 0, $b, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, ); $this->handle->recolorImage($ms_sepia); } }