Simple image editor for resizing, cropping, making collages and other elementary actions with images.
Imagery supports: - resizing - cropping - flipping and rotating - making collages - applying filters and effects, (*1)
composer require wapmorgan/imagery
use Imagery\Imagery;
Create new Imagery object:
- $image = Imagery::open($filename);
- from a file.
- $image = Imagery::create($width, $height);
- new image
- $image = new Imagery(imagecreatefrombmp('image.bmp'));
- from a resource, (*3)
public function save($filename, $quality = 75, $format = null)
- saves image to disk.
Quality is an integer value between 0
(worst) and 100
(best). Default is 75
. Quality is applicable only to JPEG, PNG, WEBP. If $format
can not be determined by filename extension, specifcy it explicitly.Formats supports:, (*4)
Operation | Formats |
---|---|
Opening | jpeg, png, gif, bmp, wbmp, xbm, xpm, webp (php >= 7.1.0) |
Saving | jpeg, png, gif, bmp, wbmp, xbm, webp (php >= 7.1.0) |
$image->width
- width of image$image->height
- height of image$image->resource
- original gd-resource of image (you can use it with gd-functions)public function resize(int $width, int $height)
- resizes an image to $width
X $height
public function zoomWidthTo(int $size)
- changes proportionally image width to $size
public function zoomHeightTo(int $size)
- changes proportionally image height to $size
public function zoomMaxSide(int $size)
- zoomes proportionally larger side to $size
, if neededpublic function crop($x, $y, $x2, $y2)
- cuts a rectangular piece of imagepublic function decreaseSide($side, int $size)
- deletes a piece of image from specific side. For example, if $side=top and $size=100, 100px from top will be deleted.public function rotate($angle, $bgColor = 0)
- rotates an image. True
equals 90°, False
equals -90°.public function flip($horizontally = true)
- flips an image horizontally or vertically.public function appendImageTo($side, Imagery $appendix, int $modifiers)
- appends an image ($appendix
) to current image at $side
(top|bottom|left|right
). Modifiers:
Imagery::ZOOM_IF_LARGER
- appendix' height will be zoomed (not resized) if it's larger than current image's one (when appending to left or right side); appendix' width will be zoomed (not resized) if it's larger than current image's one (when appending to top or bottom side);public function placeImageAt($x, $y, Imagery $image)
- places an image atop current image at $x
X $y
., (*5)
public function placeImageAtCenter(Imagery $image)
- places an image in the center of current image., (*6)
public function filter($filter)
- applies grayscale or negate filter. Pass Imagery::FILTER_NEGATE
or Imagery::FILTER_GRAYSCALE
as $filter., (*7)
Grayscale:, (*8)
-> , (*9)
Negate:, (*10)
-> , (*11)
public function changeContrast($newValue)
- changes contrast of image. New values can be in range from 100 (max contrast) to -100 (min contrast), 0 means no change., (*12)
-> , (*13)
public function changeBrightness($newValue)
- changes brightness of image. New values can be in range from 255 (max brightness) to -255 (min brightness), 0 means no change., (*14)
-> , (*15)
public function colorize($red, $green, $blue, $alpha = 127)
- changes colors of image. Colors ($red, $green, $blue
) can be in range from 255 to -255. $alpha
from 127 to 0., (*16)
-> , (*17)
public function blur($method)
- blurs an image. Method can be Imagery::GAUSSIAN_BLUR
or Imagery::SELECTIVE_BLUR
., (*18)
-> , (*19)
public function smooth($level)
- smooths an image. Level of smoothness can be in range from 0 to 8. 8 is un-smooth., (*20)
-> , (*21)
public function pixelate($blockSize = 5, $useModernEffect = true)
- pixelates an image. $blockSize
is size of pixel block., (*22)
-> , (*23)
There's a tools class: Imagery/Tools
., (*24)
static public function pHash(Imagery $image, $sizes = array(8, 8))
, (*25)
Calculates Perceptual hash of image., (*26)