mervick/yii2-image

Yii2 extension for image manipulating.

Installs: 6 925

Dependents: 2

Suggesters: 0

Security: 0

Stars: 1

Watchers: 2

Forks: 2

Open Issues: 0

Type:yii2-extension

v1.0.2 2015-06-24 16:05 UTC

This package is not auto-updated.

Last update: 2024-04-13 15:01:19 UTC


README

Analytics

Yii2 Framefork Extension for Image Manipulation.
Forked from yurkinx/yii2-image

Installation

Add to your composer.json:

"require": 
{
    "mervick/yii2-image": "~1.0"
}

after that exec php composer.phar update

Usage

Simple

$driver = \mervick\image\drivers\GD::classname(); // or `\mervick\image\drivers\Imagick::classname()`
/* @var $image \mervick\image\Image */
$image = \mervick\image\Image::load('@path/to/file', $driver);
$image->resize($width, $height, 'crop');
$image->save(); 
// or $image->save('@path/to/file2.png', $quality);

Using component

configure in main.php:

'components' => [
    'image' => [
        'class' => 'mervick\\image\\Component',
        'driver' => 'mervick\\image\\drivers\\Imagick',
    ],
],

usage

/* @var $image \mervick\image\Image */
$image = Yii::$app->image->load('@path/to/file');
$image->flip('vertical')->save('@path/to/file2.jpeg', $quality);

Api

/**
 * Resize the image to the given size.
 * @param integer $width New width
 * @param integer $height New height
 * @param string $master [optional] Master dimension. Default is 'auto'
 * @return Image
 */
public function resize($width, $height, $master = Image::AUTO);

/**
 * Rotate the image.
 * @param integer $degrees
 * @return Image
 */
public function rotate($degrees);

/**
 * Flip the image along the horizontal or vertical axis.
 * @param string $direction May be Image::HORIZONTAL, Image::VERTICAL
 * @return Image
 */
public function flip($direction);

/**
 * Crop the image.
 * @param integer $width
 * @param integer  $height
 * @param integer|null $offset_x
 * @param integer|null $offset_y
 * @return Image
 */
public function crop($width, $height, $offset_x = null, $offset_y = null);

/**
 * Sharpen the image.
 * @param integer $amount
 * @return Image
 */
public function sharpen($amount);

/**
 * Add a reflection to the image.
 * @param integer $height reflection height
 * @param integer $opacity reflection opacity: 0-100
 * @param boolean $fade_in true to fade in, false to fade out
 * @return Image
 */
public function reflection($height = null, $opacity = 100, $fade_in = false);

/**
 * Add a watermark to the image with a specified opacity.
 * @param Image $watermark
 * @param integer $offset_x Offset from the left
 * @param integer $offset_y Offset from the top
 * @param integer $opacity Opacity of watermark: 1-100
 * @return Image
 */
public function watermark(Image $watermark, $offset_x = null, $offset_y = null, $opacity = 100);
 
/**
 * Fill the background color of the image.
 * @param string $color Hexadecimal color
 * @param integer $opacity Background opacity: 0-100
 * @return Image
 */
public function background($color, $opacity = 100);

/**
 * Save the image. If the filename is omitted, the original image will
 * be overwritten.
 * @param string|null $filename Image file name
 * @param integer|null $quality Quality 1-100 for JPEG, 0-9 for PNG
 * @return boolean
 * @throws \ErrorException
 */
public function save($filename = null, $quality = null);

/**
 * Render the image.
 * @param string|null $type
 * @param integer|null $quality
 * @return string binary string
 */
public function render($type = null, $quality = null);

Image constants

    // resize contants
    const WIDTH   = 'width';
    const HEIGHT  = 'height';
    const AUTO    = 'auto';
    const INVERSE = 'inverse';
    const PRECISE = 'precise';
    const ADAPT   = 'adapt';
    const CROP    = 'crop';
    
    // Flipping constants 
    const HORIZONTAL = 'horizontal';
    const VERTICAL   = 'vertical';

License

BSD-3-Clause