Skip to content

PHP Library for image manipulation, filters, watermark, thumbnailing, overlays, etc

Notifications You must be signed in to change notification settings

elgervb/imagemanipulation

Repository files navigation

IMAGEMANIPULATION

Build Status Latest Stable Version
Fork me on GitHub: https://github.com/elgervb/imagemanipulation Bitdeli Badge

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

Parameter Default Description
width 250 The new width of the image in pixels
height 250 The new height of the image in pixels

Examples
Centered Thumb Centered Thumb Centered Thumb

max

resize the image to a max width or height keeping proportions, thus restraining the image to a certain size

Parameter Default Description
width 250 The max width of the image in pixels
height 250 The max height of the image in pixels

Examples
Max Thumb Max Thumb Max Thumb

percentage

reduce a image with a certain percentage

Parameter Default Description
percentage 250 The percentage to reduce the image with

Examples
Max Thumb Max Thumb Max Thumb

square

Parameter Default Description
width 250 The new width of the image in pixels
height 250 The new height of the image in pixels

Examples
Centered Thumb Centered Thumb Centered Thumb

Available Filters

blocks

Add random blocks to an image with custom size and color

Parameter Default Description
number 100 The number of blocks
size 25 The size of the blocks in pixels
color ffffff The color of the blocks

Examples
Blocks Filter Blocks Filter Blocks Filter

brightness

Adjust the brightness of the image, either lighter or darker

Parameter Default Description
rate 20 The brightness level from -255 to 255, from darker to lighter

Examples
Brightness Filter Brightness Filter Darker Brightness Filter Lighter

colorize

Blends a fill color with the image

Parameter Default Description
color ffffff The color to blend, either in hexadecimal or rgb(a)
opacity null The color opacity from 0 to 127

Examples
Colorize Filter Colorize Filter red Colorize Filter green

comic

Apply a sketchy comic filter to an image

Parameter Default Description
opacity 40 The opacity from 0 to 127

Examples
Comic Filter Comic Filter Comic Filter

contrast

Changes the contrast of the image

Parameter Default Description
rate 5 The opacity from -100 to 100, from minimal contrast to high constrast

Examples
Contrast Filter Contrast Filter Contrast Filter

###darken Adjust the brightness of the image, either darker or lighter

Parameter Default Description
rate 20 The brightness level from -255 to 255, from lighter to darker

Examples
Darken Filter Darken Filter Lighter Darken Filter Darker

###dodge Dodge an image, resulting in a darker image

Parameter Default Description
rate 75 The dodge level between 0 and 100

Examples
Dodge Filter Dodge Filter Lighter Dodge Filter Darker

###duotone Duotone filter. Enhances Red, Green or Blue or a combination

Parameter Default Description
red 0 The amount of red to add max = 255
green 0 The amount of green to add max = 255
blue 0 The amount of blue to add max = 255

Examples
Dodge Filter Dodge Filter Lighter Dodge Filter Darker

###edgedetect Uses edge detection to highlight the edges in the image

Examples
Edge detect Filter

###emboss Embosses the image

Examples
Edge detect Filter

###findedges Find the edges in an image without color loss

Examples
Edge detect Filter

###flip Flips an image

Parameter Default Description
mode both Direction to fip: vertical, horizontal or both

Examples
Flip Filter Flip Filter Vertical Flip Filter Horizontal

###gammacorrection Applies gamma correction

Parameter Default Description
input 1.0 Input
output 1.537 Output

Examples
Gamma Correction Filter Gamma Correction Vertical FlipGamma Correction Horizontal

###gaussianblur Blurs the image using the Gaussian method.

Examples
Gaussian Blur Filter

###grayscale Converts the colors to grayscale

Examples
Gaussian Blur Filter

###huerotate Rotete the hue of the image

Parameter Default Description
rotate 90 degrees to rotate

Examples
Hue Rotate Filter Hue Rotate Filter Hue Rotate Filter

###meanremove Uses mean removal to achieve a "sketchy" effect

Examples
Gaussian Blur Filter

###motionblur Motion blurs the image

Examples
Gaussian Blur Filter

###negative Create a negative of an image

Examples
Gaussian Blur Filter

###noise add noise to the image

Parameter Default Description
rate 20 The amount of noise to apply

Examples
Noise Filter Noise Filter Noise Filter

###oldcardboard Image filter to give the image an old cardboard look

Examples
Gaussian Blur Filter

###opacity Sets the opacity of an image

Parameter Default Description
opacity 80 A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

Examples
Opacity Filter Opacity Filter Opacity Filter

###pixelate Pixelate an image

Parameter Default Description
rate 20 the blocksize in pixels

Examples
Pixelate Filter Pixelate Filter Pixelate Filter

###rotate Rotate an image over an angle

Parameter Default Description
degrees 90 The degrees to rotate the image
color null The background color to apply

Examples
Rotate Filter Rotate Filter Rotate Filter

###scatter Scatter pixels around in a random way

Parameter Default Description
rate 5 the scatter size in pixels

Examples
Scatter Filter Scatter Filter Scatter Filter

###selectiveblur Image filter Selective Blur

Examples
Selective blur Filter

###sepia Apply sepia to the image

Parameter Default Description
rate 15 the darken rate

Examples
Sepia Filter Sepia Filter Sepia Filter

###semigrayscale Applies grayscale to an image, optionally add a grayscale percentage

Parameter Default Description
rate 75 The grayscale rate

Examples
Sepia Filter Sepia Filter Sepia Filter

###sepiafast Apply sepia to the image (fast)

Examples
Sepia fast Filter Sepia fast Filter Sepia fast Filter

###sharpen Sharpens the image

Examples
Sepia fast Filter

###smooth Makes the image smoother.

Parameter Default Description
rate 5 the darken rate

Examples
Smooth Filter Smooth Filter Smooth Filter

###sobel Sobel edge detect (extremely slow...)

Examples
Sobel Edge Detect Filter

###sobeledge Sobel edge enhance

Examples
Sobel Edge Detect Filter

###truecolor Makes the image smoother.

Parameter Default Description
primary ffffff the primary color
secundary 000000 the secundary color

Examples
Smooth Filter Smooth Filter Smooth Filter

###vignette Applies a darker mask around the edges of the image

Examples
Smooth Filter

About

PHP Library for image manipulation, filters, watermark, thumbnailing, overlays, etc

Resources

Stars

Watchers

Forks

Packages

No packages published