elgervb / imagemanipulation
Library for image manipulation in PHP with GD
Requires
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2024-12-19 16:46:56 UTC
README
Fork me on GitHub: https://github.com/elgervb/imagemanipulation
Library to manipulate images using PHP's GD library. Most of the functionality is available through the ImageBuilder
facade.
This way chaining of image filters and thumbnailing is possible, like:
ImageBuilder::create( new \SplFileInfo('image.jpg') ) ->contrast( 20 ) // increase contrast ->colorize( '#DB3636' ) // apply a bit of red the the image ->flip( ImageFilterFlip::FLIP_VERTICALLY ) // flip image vertically ->save( new \SplFileInfo( 'image.new.png' ) ) // save the jpg image as png with filters applied ->render( 80 ); // render to browser with quality 80
Installation
With composer.json:
"require" : {
"elgervb/imagemanipulation": "^1.0"
}
Requirements
PHP version >= 5.3 with GD library
FUNCTIONALITY
Filters
Lots of image filters. All of them listed below:
- brightness
- colorize
- comic
- contrast
- convolution 3x3 filters
- darken
- dodge
- duotone
- edge detect
- emboss
- find edges
- flip (horizonal, vertical, both)
- gamma correction
- gaussian blur
- grayscale
- hue rotate
- mean remove
- motion blur
- negative
- noise
- old cardboard
- opacity
- pixelate
- random blocks with custom size and color
- replace color
- reverse
- rounded corners
- scatter
- selective blur
- semi grayscale
- sepia
- sepia fast
- sharpen
- smooth
- sobel edge detect
- sobel edge enhance (based on convolution matrix)
- true color
- vignette
Overlay
Use an image as overlay on another image. Can be configured with overlay opacity, start and end position and fill options.
Reflection
Use the current image to make a reflection below the original image
Image repeater
Repeat images on a canvas, until it fits. This way we can create Warhol like images.
Rotate
Rotate images in degrees. When rotating an image not equal to 90, 180, 270 or 360 degrees, then optionally you can specify a background color for those oncovered edges.
Thumbnails
Create thumbnails on the fly. There are several strategies to use:
- Centered strategy: create a thumb from the center of an image. Ideal for creating square thumbs from not so square images
- Max strategy: resize the image to a max width or height keeping proportions. For example: when resizing an image (300x750) on max 500 pixels, the resulting image will be 200x500 pixels
- Percentage strategy: reduce the size of an image with a certain percentage.
Watermarking
Add a watermark to your image. Possible positions are: top, bottom, left, right, center, top right, top left, bottom right, bottom left.
Examples
Thumbnails
You can create thumbnails in several ways
centered
create a thumbnail which is centered in the middle of the image
max
resize the image to a max width or height keeping proportions, thus restraining the image to a certain size
percentage
reduce a image with a certain percentage
square
Available Filters
blocks
Add random blocks to an image with custom size and color
brightness
Adjust the brightness of the image, either lighter or darker
colorize
Blends a fill color with the image
comic
Apply a sketchy comic filter to an image
contrast
Changes the contrast of the image
###darken Adjust the brightness of the image, either darker or lighter
###dodge Dodge an image, resulting in a darker image
###duotone Duotone filter. Enhances Red, Green or Blue or a combination
###edgedetect Uses edge detection to highlight the edges in the image
###emboss Embosses the image
###findedges Find the edges in an image without color loss
###flip Flips an image
###gammacorrection Applies gamma correction
###gaussianblur Blurs the image using the Gaussian method.
###grayscale Converts the colors to grayscale
###huerotate Rotete the hue of the image
###meanremove Uses mean removal to achieve a "sketchy" effect
###motionblur Motion blurs the image
###negative Create a negative of an image
###noise add noise to the image
###oldcardboard Image filter to give the image an old cardboard look
###opacity Sets the opacity of an image
###pixelate Pixelate an image
###rotate Rotate an image over an angle
###scatter Scatter pixels around in a random way
###selectiveblur Image filter Selective Blur
###sepia Apply sepia to the image
###semigrayscale Applies grayscale to an image, optionally add a grayscale percentage
###sepiafast Apply sepia to the image (fast)
###sharpen Sharpens the image
###smooth Makes the image smoother.
###sobel Sobel edge detect (extremely slow...)
###sobeledge Sobel edge enhance
###truecolor Makes the image smoother.
###vignette Applies a darker mask around the edges of the image