wapmorgan / imagery
Simple image editor for resizing, cropping, making collages and other elementary actions with images.
Installs: 173
Dependents: 0
Suggesters: 0
Security: 0
Stars: 25
Watchers: 8
Forks: 4
Open Issues: 0
pkg:composer/wapmorgan/imagery
Requires
- ext-gd: *
This package is auto-updated.
Last update: 2025-10-12 07:08:29 UTC
README
Imagery supports:
- resizing
- cropping
- flipping and rotating
- making collages
- applying filters and effects
- Installation
- API
Installation
- Composer package:
composer require wapmorgan/imagery
API
Imagery
use Imagery\Imagery;
Opening
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
Saving
public function save($filename, $quality = 75, $format = null)- saves image to disk. Quality is an integer value between0(worst) and100(best). Default is75. Quality is applicable only to JPEG, PNG, WEBP. If$formatcan not be determined by filename extension, specifcy it explicitly.
Formats supports:
| 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) |
Properties
$image->width- width of image$image->height- height of image$image->resource- original gd-resource of image (you can use it with gd-functions)
Resize && Zoom
public function resize(int $width, int $height)- resizes an image to$widthX$heightpublic function zoomWidthTo(int $size)- changes proportionally image width to$sizepublic function zoomHeightTo(int $size)- changes proportionally image height to$sizepublic function zoomMaxSide(int $size)- zoomes proportionally larger side to$size, if needed
Crop
public 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.
Rotation && Mirroring
public function rotate($angle, $bgColor = 0)- rotates an image.Trueequals 90°,Falseequals -90°.public function flip($horizontally = true)- flips an image horizontally or vertically.
Collage
-
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$xX$y. -
public function placeImageAtCenter(Imagery $image)- places an image in the center of current image.
Effects
-
public function filter($filter)- applies grayscale or negate filter. PassImagery::FILTER_NEGATEorImagery::FILTER_GRAYSCALEas $filter.Grayscale:
Negate:
-
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. -
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. -
public function colorize($red, $green, $blue, $alpha = 127)- changes colors of image. Colors ($red, $green, $blue) can be in range from 255 to -255.$alphafrom 127 to 0. -
public function blur($method)- blurs an image. Method can beImagery::GAUSSIAN_BLURorImagery::SELECTIVE_BLUR. -
public function smooth($level)- smooths an image. Level of smoothness can be in range from 0 to 8. 8 is un-smooth. -
public function pixelate($blockSize = 5, $useModernEffect = true)- pixelates an image.$blockSizeis size of pixel block.
Tools
There's a tools class: Imagery/Tools.
-
static public function pHash(Imagery $image, $sizes = array(8, 8))Calculates Perceptual hash of image.







