From 3821436e0e9625c5b162c7bda9805176f20841a0 Mon Sep 17 00:00:00 2001 From: Yaroslav Pelesh Date: Sun, 12 Aug 2012 18:21:17 +0300 Subject: [PATCH] * CButtonColumnEx: removed templateExpression property. Now template property can be php expression * CButtonColumnEx: added readme.md and readme_ru.md * CImageHandler: added readme.md and readme_ru.md * Common: corrected copyright * Common: added empty readme --- .../DateTimeBehavior/CDateTimeBehavior.php | 2 +- .../CTreeCommentsControllerBehavior.php | 2 +- .../CTreeCommentsModelBehavior.php | 2 +- .../ButtonColumnEx/CButtonColumnEx.php | 12 +- .../components/ButtonColumnEx/readme.md | 54 +++ .../components/ButtonColumnEx/readme_ru.md | 54 +++ .../components/ImageHandler/CImageHandler.php | 4 +- .../yiicomp/components/ImageHandler/readme.md | 341 ++++++++++++++++++ .../components/ImageHandler/readme_ru.md | 341 ++++++++++++++++++ .../LangUrlManager/CLangUrlManager.php | 2 +- .../TimeZoneHelper/CTimeZoneHelper.php | 2 +- .../helpers/StringHelper/CStringHelper.php | 2 +- .../yiicomp/widgets/TagCloud/CTagCloud.php | 2 +- .../yiicomp/widgets/YiiJevix/CJevixEx.php | 2 +- .../yiicomp/widgets/YiiJevix/CYiiJevix.php | 2 +- readme.md | 4 + 16 files changed, 809 insertions(+), 19 deletions(-) create mode 100644 protected/extensions/yiicomp/components/ButtonColumnEx/readme.md create mode 100644 protected/extensions/yiicomp/components/ButtonColumnEx/readme_ru.md create mode 100644 protected/extensions/yiicomp/components/ImageHandler/readme.md create mode 100644 protected/extensions/yiicomp/components/ImageHandler/readme_ru.md create mode 100644 readme.md diff --git a/protected/extensions/yiicomp/behaviors/DateTimeBehavior/CDateTimeBehavior.php b/protected/extensions/yiicomp/behaviors/DateTimeBehavior/CDateTimeBehavior.php index 5c75658..28810e2 100644 --- a/protected/extensions/yiicomp/behaviors/DateTimeBehavior/CDateTimeBehavior.php +++ b/protected/extensions/yiicomp/behaviors/DateTimeBehavior/CDateTimeBehavior.php @@ -1,7 +1,7 @@ template; $tmpButtons = $this->buttons; - if($this->templateExpression !== null) { - $this->template = $this->evaluateExpression($this->templateExpression,array('data'=>$data,'row'=>$row)); - } + $this->template = $this->evaluateExpression($this->template,array('data'=>$data,'row'=>$row)); foreach($this->buttons as $buttonIndex => $button) { diff --git a/protected/extensions/yiicomp/components/ButtonColumnEx/readme.md b/protected/extensions/yiicomp/components/ButtonColumnEx/readme.md new file mode 100644 index 0000000..45842dc --- /dev/null +++ b/protected/extensions/yiicomp/components/ButtonColumnEx/readme.md @@ -0,0 +1,54 @@ +CButtonColumnEx +=============== + +CButtonColumnEx - extended CButtonColumn, in which template and button options +can be php expressions. + +Installation +------------ + +1. Copy ButtonColumnEx directory to Yii `components` directory + +2. Add import path + +~~~php +'import'=>array( + + ... + + 'application.components.ButtonColumnEx.CButtonColumnEx', + + ... + +) +~~~ + +3. Use component in CGridView columns configuration + +~~~php +'columns'=>array( + + ... + + array( + 'class' => 'CButtonColumnEx', + 'template' => '"{view}" . ($data->isCancelable() ? " / {cancel}" : "")', + 'buttons' => array( + 'cancel' => array( + + ... + + 'options' => array( + 'data-title'=>'$data->title', + ), + + ... + + ), + ), + ), + + ... + +), +~~~ \ No newline at end of file diff --git a/protected/extensions/yiicomp/components/ButtonColumnEx/readme_ru.md b/protected/extensions/yiicomp/components/ButtonColumnEx/readme_ru.md new file mode 100644 index 0000000..0c10065 --- /dev/null +++ b/protected/extensions/yiicomp/components/ButtonColumnEx/readme_ru.md @@ -0,0 +1,54 @@ +CButtonColumnEx +=============== + +CButtonColumnEx - потомок CButtonColumn, в котором свойство template и свойства options +кнопок могут быть php-выражениями. + +Installation +------------ + +1. Скопируйте папку ButtonColumnEx в паку `components` + +2. Добавте путь в импорт + +~~~php +'import'=>array( + + ... + + 'application.components.ButtonColumnEx.CButtonColumnEx', + + ... + +) +~~~ + +3. Используйте компонент в конфигурации CGridView + +~~~php +'columns'=>array( + + ... + + array( + 'class' => 'CButtonColumnEx', + 'template' => '"{view}" . ($data->isCancelable() ? " / {cancel}" : "")', + 'buttons' => array( + 'cancel' => array( + + ... + + 'options' => array( + 'data-title'=>'$data->title', + ), + + ... + + ), + ), + ), + + ... + +), +~~~ \ No newline at end of file diff --git a/protected/extensions/yiicomp/components/ImageHandler/CImageHandler.php b/protected/extensions/yiicomp/components/ImageHandler/CImageHandler.php index 94b918f..fff856b 100644 --- a/protected/extensions/yiicomp/components/ImageHandler/CImageHandler.php +++ b/protected/extensions/yiicomp/components/ImageHandler/CImageHandler.php @@ -1,9 +1,9 @@ array( + + ... + + 'application.components.ImageHandler.CImageHandler', + + ... + +) +~~~ + +3. Add following lines to `config/main.php` + +~~~php +'components'=>array( + + ... + + 'ih'=>array( + 'class'=>'CImageHandler', + ), + + ... + +) +~~~ + +or you can use it as simle class + +~~~php +$ih = new CImageHandler(); +~~~ + +Image loading +------------- + +~~~php +public function load($file); +~~~ + +`$file` - image file path or URL + +Image reloading +--------------- + +If there is need to reprocess image from scratch, use following method + +~~~php +public function reload(); +~~~ + +Processed image saving +---------------------- + +~~~php +public function save($file = false, $toFormat = false, $jpegQuality = 75, $touch = false); +~~~ + +`$file` - file path. If value is `false`, then it will be replaced with original file path. Default value is `false` + +`$toFormat` - image format. If value is `false`, then file will be saved in the same as original file format. Possible options: + +* `IMG_GIF` +* `IMG_JPEG` +* `IMG_PNG` + +`$jpegQuality` - image quality (for JPEG only). Default value is `75` + +`$touch` - set for saved file modification timestamp which is equal to original file one. Default value is `false` + + +Direct output +------------- + +~~~php +public function show($inFormat = false, $jpegQuality = 75); +~~~ + +`$inFormat` - image format. If value is `false`, then file will be saved in the same as original file format. Possible options: + +* `IMG_GIF` +* `IMG_JPEG` +* `IMG_PNG` + +`$jpegQuality` - image quality (for JPEG only). Default value is `75` + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->crop(20, 20, 200, 200) + ->show(); +~~~ + +Thumbs +------ + +~~~php +public function thumb($toWidth, $toHeight, $proportional = true); +~~~ + +`$toWidth` - fit to width. Can be `false`, which means that this parameter is ignored + +`$toHeight` - fit to height. Can be `false`, which means that this parameter is ignored + +`$proportional` - proportional scaling. Default value is `true` + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->thumb(200, 200) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/image2.jpg'); +~~~ + +Image resizing (proportional or non-proportional) +--------------------------------------------------- + +~~~php +public function resize($toWidth, $toHeight, $proportional = true); +~~~ + +`$toWidth` - resize to width. Can be `false`, which means that this parameter is ignored + +`$toHeight` - resize to height. Can be `false`, which means that this parameter is ignored + +`$proportional` - proportional scaling. Default value is `true` + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->resize(80, 80, false) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/80x80.jpg') + ->reload() + ->resize(24, 24, false) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/24x24.jpg'); +~~~ + +Watermark +--------- + +~~~php +public function watermark($watermarkFile, $offsetX, $offsetY, $corner = self::CORNER_RIGHT_BOTTOM); +~~~ + +`$watermarkFile` - watermark file path + +`$offsetX` - horizontal offset + +`$offsetY` - vertical offset + +`$corner` - image part to which watermark position is relative. Default value is `self::CORNER_RIGHT_BOTTOM`. Possible options: + +* `CORNER_LEFT_TOP` - left top corner +* `CORNER_RIGHT_TOP` - right top corner +* `CORNER_LEFT_BOTTOM` - left bottom corner +* `CORNER_RIGHT_BOTTOM` - right bottom corner +* `CORNER_CENTER` - image middle point + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->watermark($_SERVER['DOCUMENT_ROOT'] . '/upload/watermark.png', 10, 20, CImageHandler::CORNER_LEFT_BOTTOM) + ->thumb(200, 200) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/image2.jpg'); +~~~ + +Flipping +-------- + +~~~php +public function flip($mode); +~~~ + +`$mode` - flipping direction. Possible options: + +* `FLIP_HORIZONTAL` - horizontal +* `FLIP_VERTICAL` - vertical +* `FLIP_BOTH` - first two options simultaneously + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->flip(CImageHandler::FLIP_BOTH) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/flipped.jpg'); +~~~ + +Rotating +-------- + +~~~php +public function rotate($degrees); +~~~ + +`$degrees` - degrees. Value can be negative; in that case image will be rotated anticlockwise + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->rotate(-90) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/rotated.jpg'); +~~~ + +Cropping +-------- + +~~~php +public function crop($width, $height, $startX = false, $startY = false); +~~~ + +`$width` - target width + +`$height` - target height + +`$startX` - horizontal offset. Value can be `false`, in that case target area will be horizontally cantered. Default value is `false` + +`$startY` - vertical offset. Value can be `false,` in that case target area will be vertically cantered. Default value is `false` + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/test.png') + ->crop(100, 100, 10, 10) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/test2.png'); +~~~ + +Text adding +----------- + +~~~php +public function text($text, $fontFile, $size=12, $color=array(0, 0, 0), $corner=self::CORNER_LEFT_TOP, $offsetX=0, $offsetY=0, $angle=0); +~~~ + +`$text` - text + +`$fontFile` - font file path + +`$size` - font size. Default value is `12` + +`$color` - text color in RGB format `array(red, green, blue)`. Default value is black color `array(0, 0, 0)` + +`$corner` - text position. Default value is `self::CORNER_LEFT_TOP`. Possible options: + +* `CORNER_LEFT_TOP` - left top corner +* `CORNER_RIGHT_TOP` - right top corner +* `CORNER_LEFT_BOTTOM` - left bottom corner +* `CORNER_RIGHT_BOTTOM` - right bottom corner +* `CORNER_CENTER` - image middle point + +`$offsetX` - horizontal offset + +`$offsetY` - vertical offset + +`$angle` - angle degrees + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->text('Hello!', $_SERVER['DOCUMENT_ROOT'] . '/upload/georgia.ttf', + 20, array(255,0,0), CImageHandler::CORNER_LEFT_BOTTOM, 10, 10) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/text.jpg'); +~~~ + +Thumbs with cropping (adaptive thumbs) +-------------------------------------- + +~~~php +public function adaptiveThumb($width, $height); +~~~ + +`$width` - target width + +`$height` - target height + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/test.jpg') + ->adaptiveThumb(50, 50) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/test2.jpg'); +~~~ + +Thumbs with background filling +------------------------------ + +~~~php +public function resizeCanvas($toWidth, $toHeight, $backgroundColor = array(255, 255, 255)); +~~~ + +`$toWidth` - if original image is wider then resize it to this width + +`$toHeight` - if original image is higher then resize it to this height + +`$backgroundColor` - text color in RGB format `array(red, green, blue)`. Default value is white color `array(255, 255, 255)` + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/test.jpg') + ->resizeCanvas(300,300, array(0,255,0)) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/test2.jpg'); +~~~ + +If you put original width and height as parameters, than only background will be filled: + +~~~php +Yii::app()->ih->load($_SERVER['DOCUMENT_ROOT'] . '/upload/test.png') + ->resizeCanvas(Yii::app()->ih->width,Yii::app()->ih->height,array(0, 255, 0)) + ->show(); +~~~ + +Grayscale +--------- + +~~~php +public function grayscale(); +~~~ + +No parameters. + +~~~php +Yii::app()->ih->load($_SERVER['DOCUMENT_ROOT'] . '/upload/test.jpg') + ->grayscale() + ->show(); +~~~ \ No newline at end of file diff --git a/protected/extensions/yiicomp/components/ImageHandler/readme_ru.md b/protected/extensions/yiicomp/components/ImageHandler/readme_ru.md new file mode 100644 index 0000000..a3fd1de --- /dev/null +++ b/protected/extensions/yiicomp/components/ImageHandler/readme_ru.md @@ -0,0 +1,341 @@ +CImageHandler +============= + +`CImageHandler` - компонент для обработки изображений. + +Возможности +----------- + +* работает с JPG, PNG, GIF +* сохранение прозрачности при работе с PNG и GIF +* комбинирование нескольких операций над одной картинкой +* загрузка из любого и сохранение в любой из поддерживаемых форматов + +Подключение +----------- + +1. Скопируйте папку ImageHandler в папку `components` + +2. Добавте путь в импорт + +~~~php +'import'=>array( + + ... + + 'application.components.ImageHandler.CImageHandler', + + ... + +) +~~~ + +3. в `config/main.php` + +~~~php +'components'=>array( + + ... + + 'ih'=>array( + 'class'=>'CImageHandler', + ), + + ... + +) +~~~ + +или можно просто создавать экземпляр класса + +~~~php +$ih = new CImageHandler(); +~~~ + +Загрузка изображения +-------------------- + +~~~php +public function load($file); +~~~ + +`$file` - файл или урл изображения, которое будем обрабатывать + +Повторная загрузка изображения +------------------------------ + +Если необходимо обработать ту же картинку, но с нуля, используйте метод + +~~~php +public function reload(); +~~~ + +Сохранение обработанного изображения +------------------------------------ + +~~~php +public function save($file = false, $toFormat = false, $jpegQuality = 75, $touch = false); +~~~ + +`$file` - в какой файл сохраняем, если `false`, то в тот же из которого была произведена загрузка. По умолчанию `false` + +`$toFormat` - в каком формате сохраняем. Если `false`, то в том же что исходный файл. Возможные значения: + +* `IMG_GIF` +* `IMG_JPEG` +* `IMG_PNG` + +`$jpegQuality` - если сохраняем в JPEG формате, то можно задать качество. По умолчанию `75` + +`$touch` - задать файлу ту же дату модификации что и у оригинала, если буду развивать класс, то необходимость в данном параметре отпадет. По умолчанию `false` + + +Вывод картинки без сохранения в файл +------------------------------------ + +~~~php +public function show($inFormat = false, $jpegQuality = 75); +~~~ + +`$inFormat` - в каком формате выводим. Если `false`, то в том же что исходный файл. Возможные значения: + +* `IMG_GIF` +* `IMG_JPEG` +* `IMG_PNG` + +`$jpegQuality` - если выводим в JPEG формате, то можно задать качество. По умолчанию `75` + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->crop(20, 20, 200, 200) + ->show(); +~~~ + +Создание превюшек +----------------- + +~~~php +public function thumb($toWidth, $toHeight, $proportional = true); +~~~ + +`$toWidth` - до какой ширины уменьшать изображение, если у оригинала она больше. Можно задать `false`, тогда этот параметр не будет учитываться + +`$toHeight` - до какой высоты уменьшать изображение, если у оригинала она больше. Можно задать `false`, тогда этот параметр не будет учитываться + +`$proportional` - пропорционально ли масштабировать изображение. По умолчанию `true` + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->thumb(200, 200) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/image2.jpg'); +~~~ + +Ресайз картинок (пропорционально/непропорционально) +--------------------------------------------------- + +~~~php +public function resize($toWidth, $toHeight, $proportional = true); +~~~ + +`$toWidth` - до какой ширины масштабировать изображение. Можно задать `false`, тогда этот параметр не будет учитываться + +`$toHeight` - до какой высоты масштабировать изображение. Можно задать `false`, тогда этот параметр не будет учитываться + +`$proportional` - пропорционально ли масштабировать изображение. По умолчанию `true` + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->resize(80, 80, false) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/80x80.jpg') + ->reload() + ->resize(24, 24, false) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/24x24.jpg'); +~~~ + +Водяные знаки +------------- + +~~~php +public function watermark($watermarkFile, $offsetX, $offsetY, $corner = self::CORNER_RIGHT_BOTTOM); +~~~ + +`$watermarkFile` - изображение водяного знака, которое будет накладываться + +`$offsetX` - отступ по горизонтали + +`$offsetY` - отступ по вертикали + +`$corner` - от какой части изображения позиционируется водяной знак. По умолчанию `self::CORNER_RIGHT_BOTTOM`. Возможные значения: + +* `CORNER_LEFT_TOP` - левый верхний угол +* `CORNER_RIGHT_TOP` - правый верхний угол +* `CORNER_LEFT_BOTTOM` - левый нижний угол +* `CORNER_RIGHT_BOTTOM` - правый нижний угол +* `CORNER_CENTER` - центр изображения + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->watermark($_SERVER['DOCUMENT_ROOT'] . '/upload/watermark.png', 10, 20, CImageHandler::CORNER_LEFT_BOTTOM) + ->thumb(200, 200) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/image2.jpg'); +~~~ + +Переворачивание +--------------- + +~~~php +public function flip($mode); +~~~ + +`$mode` - как поворачиваем. Возможные значения: + +* `FLIP_HORIZONTAL` - горизонтально +* `FLIP_VERTICAL` - вертикально +* `FLIP_BOTH` - горизонтально и вертикально одновременно + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->flip(CImageHandler::FLIP_BOTH) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/flipped.jpg'); +~~~ + +Поворот +------- + +~~~php +public function rotate($degrees); +~~~ + +`$degrees` - угол в градусах. Если отрицательное значение, то поворот осуществляется против часовой стрелки. + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->rotate(-90) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/rotated.jpg'); +~~~ + +Обрезка +------- + +~~~php +public function crop($width, $height, $startX = false, $startY = false); +~~~ + +`$width` - ширина области, которая останется + +`$height` - высота области, которая останется + +`$startX` - отступ по горизонтали области, которая останется. Если задать `false`, то область будет центироваться по горизонтали. По умолчанию `false` + +`$startY` - отступ по вертикали области, которая останется. Если задать `false,` то область будет центрироваться по вертикали. По умолчанию `false` + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/test.png') + ->crop(100, 100, 10, 10) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/test2.png'); +~~~ + +Добавление текста +----------------- + +~~~php +public function text($text, $fontFile, $size=12, $color=array(0, 0, 0), $corner=self::CORNER_LEFT_TOP, $offsetX=0, $offsetY=0, $angle=0); +~~~ + +`$text` - собственно текст + +`$fontFile` - путь к файлу шрифта + +`$size` - размер текста. По умолчанию `12` + +`$color` - цвет текста в RGB формате массивом `array(красный, зеленый, синий)`. По умолчанию черный `array(0, 0, 0)` + +`$corner` - положение текста. По умолчанию `self::CORNER_LEFT_TOP`. Возможные значения: + +* `CORNER_LEFT_TOP` - левый верхний угол +* `CORNER_RIGHT_TOP` - правый верхний угол +* `CORNER_LEFT_BOTTOM` - левый нижний угол +* `CORNER_RIGHT_BOTTOM` - правый нижний угол +* `CORNER_CENTER` - центр изображения + +`$offsetX` - отступ по горизонтали + +`$offsetY` - отступ по вертикали + +`$angle` - угол поворота текста + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/image.jpg') + ->text('Hello!', $_SERVER['DOCUMENT_ROOT'] . '/upload/georgia.ttf', + 20, array(255,0,0), CImageHandler::CORNER_LEFT_BOTTOM, 10, 10) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/text.jpg'); +~~~ + +Превюшка с подгоном размера и обрезкой лишнего +---------------------------------------------- + +~~~php +public function adaptiveThumb($width, $height); +~~~ + +`$width` - ширина под которую подогнать + +`$height` - высота под которую подогнать + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/test.jpg') + ->adaptiveThumb(50, 50) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/test2.jpg'); +~~~ + +Превюшка с заливкой бекграунда +------------------------------ + +~~~php +public function resizeCanvas($toWidth, $toHeight, $backgroundColor = array(255, 255, 255)); +~~~ + +`$toWidth` - до какой ширины уменьшать изображение, если у оригинала она больше. + +`$toHeight` - до какой высоты уменьшать изображение, если у оригинала она больше. + +`$backgroundColor` - цвет фона в RGB формате массивом `array(красный, зеленый, синий)`. По умолчанию белый `array(255, 255, 255)` + +~~~php +Yii::app()->ih + ->load($_SERVER['DOCUMENT_ROOT'] . '/upload/test.jpg') + ->resizeCanvas(300,300, array(0,255,0)) + ->save($_SERVER['DOCUMENT_ROOT'] . '/upload/test2.jpg'); +~~~ + +Если указать в качестве размеров изображения исходные ширину и высоту, то получим просто заливку бекграунда: + +~~~php +Yii::app()->ih->load($_SERVER['DOCUMENT_ROOT'] . '/upload/test.png') + ->resizeCanvas(Yii::app()->ih->width,Yii::app()->ih->height,array(0, 255, 0)) + ->show(); +~~~ + +Конвертация в черно-белое изображение +------------------------------------- + +~~~php +public function grayscale(); +~~~ + +Без параметров. + +~~~php +Yii::app()->ih->load($_SERVER['DOCUMENT_ROOT'] . '/upload/test.jpg') + ->grayscale() + ->show(); +~~~ \ No newline at end of file diff --git a/protected/extensions/yiicomp/components/LangUrlManager/CLangUrlManager.php b/protected/extensions/yiicomp/components/LangUrlManager/CLangUrlManager.php index 868604f..467e718 100644 --- a/protected/extensions/yiicomp/components/LangUrlManager/CLangUrlManager.php +++ b/protected/extensions/yiicomp/components/LangUrlManager/CLangUrlManager.php @@ -3,7 +3,7 @@ * This extension allows you to pass the application language via the url * and then use it for all further generated urls * @author Ekstazi http://yii-blog.blogspot.com - * @author Pelesh Yaroslav aka Tokolist http://tokolist.com + * @author Yaroslav Pelesh aka Tokolist http://tokolist.com * @link https://github.com/tokolist/yii-components * @version 1.0 * @license http://www.opensource.org/licenses/mit-license.php The MIT License diff --git a/protected/extensions/yiicomp/components/TimeZoneHelper/CTimeZoneHelper.php b/protected/extensions/yiicomp/components/TimeZoneHelper/CTimeZoneHelper.php index fe01936..65ebe10 100644 --- a/protected/extensions/yiicomp/components/TimeZoneHelper/CTimeZoneHelper.php +++ b/protected/extensions/yiicomp/components/TimeZoneHelper/CTimeZoneHelper.php @@ -1,7 +1,7 @@