class ImageMagick implements ProcessorInterface

ImageMagick processor.

Traits

Calculate new image dimensions.

Properties

protected Imagick $image Imagick instance.
protected Imagick $snapshot Imagick instance.

Methods

array
calculateNewDimensions(int $width, int $height, int $oldWidth, int $oldHeight, int $aspectRatio)

Calculates new image dimensions.

__destruct()

Destructor.

string
normalizeHex(string $hex)

Add the hash character (#) if its missing.

open(string $image)

Opens the image we want to work with.

snapshot()

Creates a snapshot of the image resource.

restore()

Restores an image snapshot.

int
getWidth()

Returns the image width in pixels.

int
getHeight()

Returns the image height in pixels.

array
getDimensions()

Returns an array containing the image dimensions in pixels.

rotate(int $degrees)

Rotates the image using the given angle in degrees.

resize(int $width, int $height = null, int $aspectRatio = Image::RESIZE_IGNORE)

Resizes the image to the chosen size.

crop(int $width, int $height, int $x, int $y)

Crops the image.

flip(int $direction = Image::FLIP_HORIZONTAL)

Flips the image.

watermark(string $file, int $position = Image::WATERMARK_TOP_LEFT, int $opacity = 100)

Adds a watermark to the image.

brightness(int $level = 50)

Adjust image brightness.

greyscale()

Converts image to greyscale.

sepia()

Converts image to sepia.

bitonal()

Converts image to bitonal.

colorize(string $color)

Colorize the image.

sharpen()

Sharpens the image.

pixelate(int $pixelSize = 10)

Pixelates the image.

negate()

Negates the image.

border(string $color = '#000', int $thickness = 5)

Adds a border to the image.

string
getImageBlob(string $type = null, int $quality = 95)

Returns a string containing the image.

save(string $file, int $quality = 95)

Saves image to file.

Details

protected array calculateNewDimensions(int $width, int $height, int $oldWidth, int $oldHeight, int $aspectRatio)

Calculates new image dimensions.

Parameters

int $width Desired image width
int $height Desired image height
int $oldWidth Old image width
int $oldHeight Old image height
int $aspectRatio Aspect ratio

Return Value

array

at line 47
__destruct()

Destructor.

at line 67
string normalizeHex(string $hex)

Add the hash character (#) if its missing.

Parameters

string $hex HEX value

Return Value

string

Exceptions

InvalidArgumentException

at line 80
open(string $image)

Opens the image we want to work with.

Parameters

string $image Path to image file

at line 88
snapshot()

Creates a snapshot of the image resource.

at line 96
restore()

Restores an image snapshot.

Exceptions

RuntimeException

at line 111
int getWidth()

Returns the image width in pixels.

Return Value

int

at line 119
int getHeight()

Returns the image height in pixels.

Return Value

int

at line 127
array getDimensions()

Returns an array containing the image dimensions in pixels.

Return Value

array

at line 135
rotate(int $degrees)

Rotates the image using the given angle in degrees.

Parameters

int $degrees Degrees to rotate the image

at line 143
resize(int $width, int $height = null, int $aspectRatio = Image::RESIZE_IGNORE)

Resizes the image to the chosen size.

Parameters

int $width Width of the image
int $height Height of the image
int $aspectRatio Aspect ratio

at line 156
crop(int $width, int $height, int $x, int $y)

Crops the image.

Parameters

int $width Width of the crop
int $height Height of the crop
int $x The X coordinate of the cropped region's top left corner
int $y The Y coordinate of the cropped region's top left corner

at line 164
flip(int $direction = Image::FLIP_HORIZONTAL)

Flips the image.

Parameters

int $direction Direction to flip the image

at line 183
watermark(string $file, int $position = Image::WATERMARK_TOP_LEFT, int $opacity = 100)

Adds a watermark to the image.

Parameters

string $file Path to the image file
int $position Position of the watermark
int $opacity Opacity of the watermark in percent

at line 228
brightness(int $level = 50)

Adjust image brightness.

Parameters

int $level Brightness level (-100 to 100)

at line 236
greyscale()

Converts image to greyscale.

at line 244
sepia()

Converts image to sepia.

at line 252
bitonal()

Converts image to bitonal.

at line 260
colorize(string $color)

Colorize the image.

Parameters

string $color Hex value

at line 268
sharpen()

Sharpens the image.

at line 276
pixelate(int $pixelSize = 10)

Pixelates the image.

Parameters

int $pixelSize Pixel size

at line 290
negate()

Negates the image.

at line 298
border(string $color = '#000', int $thickness = 5)

Adds a border to the image.

Parameters

string $color Hex code for the color
int $thickness Thickness of the frame in pixels

at line 308
string getImageBlob(string $type = null, int $quality = 95)

Returns a string containing the image.

Parameters

string $type Image type
int $quality Image quality 1-100

Return Value

string

Exceptions

RuntimeException

at line 330
save(string $file, int $quality = 95)

Saves image to file.

Parameters

string $file Path to the image file
int $quality Image quality 1-100

Exceptions

RuntimeException