class ImageMagick implements ProcessorInterface

ImageMagick processor.

Traits

Calculate new image dimensions.

Properties

protected Imagick $image Imagick instance.
protected Imagick|null $snapshot Imagick instance.

Methods

array
calculateNewDimensions(int $width, int|null $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|null $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|null $height, int $oldWidth, int $oldHeight, int $aspectRatio)

Calculates new image dimensions.

Parameters

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

Return Value

array

at line 45
__destruct()

Destructor.

at line 64
string normalizeHex(string $hex)

Add the hash character (#) if its missing.

Parameters

string $hex HEX value

Return Value

string

at line 77
open(string $image)

Opens the image we want to work with.

Parameters

string $image Path to image file

at line 85
snapshot()

Creates a snapshot of the image resource.

at line 93
restore()

Restores an image snapshot.

at line 108
int getWidth()

Returns the image width in pixels.

Return Value

int

at line 116
int getHeight()

Returns the image height in pixels.

Return Value

int

at line 124
array getDimensions()

Returns an array containing the image dimensions in pixels.

Return Value

array

at line 132
rotate(int $degrees)

Rotates the image using the given angle in degrees.

Parameters

int $degrees Degrees to rotate the image

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

Resizes the image to the chosen size.

Parameters

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

at line 153
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 161
flip(int $direction = Image::FLIP_HORIZONTAL)

Flips the image.

Parameters

int $direction Direction to flip the image

at line 180
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 225
brightness(int $level = 50)

Adjust image brightness.

Parameters

int $level Brightness level (-100 to 100)

at line 233
greyscale()

Converts image to greyscale.

at line 241
sepia()

Converts image to sepia.

at line 249
bitonal()

Converts image to bitonal.

at line 257
colorize(string $color)

Colorize the image.

Parameters

string $color Hex value

at line 265
sharpen()

Sharpens the image.

at line 273
pixelate(int $pixelSize = 10)

Pixelates the image.

Parameters

int $pixelSize Pixel size

at line 287
negate()

Negates the image.

at line 295
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 305
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

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

Saves image to file.

Parameters

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