Resizer
in package
Image resizer
Usage: Resizer::open(mixed $file) ->resize(int $width , int $height, string 'exact, portrait, landscape, auto, fit or crop') ->save(string 'path/to/file.jpg', int $quality);
// Resize and save an image. Resizer::open(Input::file('field_name')) ->resize(800, 600, 'crop') ->save('path/to/file.jpg', 100);
// Recompress an image. Resizer::open('path/to/image.jpg') ->save('path/to/new_image.jpg', 60);
Tags
Table of Contents
- $extension : string
- $file : resource
- $height : int
- $image : resource
- $mime : string
- $options : array<string|int, mixed>
- $orientation : int|null
- $originalImage : resource
- $width : int
- __construct() : mixed
- Instantiates the Resizer and receives the path to an image we're working with
- crop() : self
- Crops an image from its center
- open() : Resizer
- Static call, Laravel style.
- reset() : self
- Resets the image back to the original.
- resize() : self
- Resizes and/or crops an image
- save() : mixed
- Save the image based on its file type.
- setOptions() : self
- Sets resizer options. Available options are: - mode: Either exact, portrait, landscape, auto, fit or crop.
- sharpen() : self
- Sharpen the image across a scale of 0 - 100
- getDimensions() : array<string|int, mixed>
- Return the image dimensions based on the option that was chosen.
- getHeight() : int
- Receives the image's height while respecting the exif orientation
- getOptimalCrop() : array<string|int, mixed>
- Attempts to find the best way to crop. Whether crop is based on the image being portrait or landscape.
- getOption() : mixed
- Gets an individual resizer option.
- getOrientation() : int|null
- Receives the image's exif orientation
- getRotatedOriginal() : resource
- Receives the original but rotated image according to exif orientation
- getSizeByAuto() : array<string|int, mixed>
- Checks to see if an image is portrait or landscape and resizes accordingly.
- getSizeByFit() : array<string|int, mixed>
- Fit the image inside a bounding box using maximum width and height constraints.
- getSizeByFixedHeight() : int
- Returns the width based on the image height
- getSizeByFixedWidth() : int
- Returns the height based on the image width
- getWidth() : int
- Receives the image's width while respecting the exif orientation
- openImage() : mixed
- Open a file, detect its mime-type and create an image resource from it.
- retainImageTransparency() : mixed
- Manipulate an image resource in order to keep transparency for PNG and GIF files.
- setOption() : self
- Sets an individual resizer option.
Properties
$extension
protected
string
$extension
The extension of the uploaded file.
$file
protected
resource
$file
The symfony uploaded file object.
$height
protected
int
$height
Original height of the image being resized.
$image
protected
resource
$image
The image (on disk) that's being resized.
$mime
protected
string
$mime
The mime type of the uploaded file.
$options
protected
array<string|int, mixed>
$options
= []
Array of options used for resizing.
$orientation
protected
int|null
$orientation
Exif orientation of image
$originalImage
protected
resource
$originalImage
The cached, original image.
$width
protected
int
$width
Original width of the image being resized.
Methods
__construct()
Instantiates the Resizer and receives the path to an image we're working with
public
__construct(mixed $file) : mixed
Parameters
- $file : mixed
-
The file array provided by Laravel's Input::file('field_name') or a path to a file
Tags
Return values
mixed —crop()
Crops an image from its center
public
crop(int $cropStartX, int $cropStartY, int $newWidth, int $newHeight[, int $srcWidth = null ][, int $srcHeight = null ]) : self
Parameters
- $cropStartX : int
-
Start on X axis
- $cropStartY : int
-
Start on Y axis
- $newWidth : int
-
The new width
- $newHeight : int
-
The new height
- $srcWidth : int = null
-
Source area width.
- $srcHeight : int = null
-
Source area height.
Return values
self —open()
Static call, Laravel style.
public
static open(mixed $file) : Resizer
Returns a new Resizer object, allowing for chainable calls
Parameters
- $file : mixed
-
The file array provided by Laravel's Input::file('field_name') or a path to a file
Tags
Return values
Resizer —reset()
Resets the image back to the original.
public
reset() : self
Return values
self —resize()
Resizes and/or crops an image
public
resize(int $newWidth, int $newHeight[, array<string|int, mixed> $options = [] ]) : self
Parameters
- $newWidth : int
-
The width of the image
- $newHeight : int
-
The height of the image
- $options : array<string|int, mixed> = []
-
A set of resizing options
Tags
Return values
self —save()
Save the image based on its file type.
public
save(string $savePath) : mixed
Parameters
- $savePath : string
-
Where to save the image
Tags
Return values
mixed —setOptions()
Sets resizer options. Available options are: - mode: Either exact, portrait, landscape, auto, fit or crop.
public
setOptions(array<string|int, mixed> $options) : self
- offset: The offset of the crop = [ left, top ]
- sharpen: Sharpen image, from 0 - 100 (default: 0)
- interlace: Interlace image, Boolean: false (disabled: default), true (enabled)
- quality: Image quality, from 0 - 100 (default: 90)
Parameters
- $options : array<string|int, mixed>
-
Set of resizing option
Return values
self —sharpen()
Sharpen the image across a scale of 0 - 100
public
sharpen(int $sharpness) : self
Parameters
- $sharpness : int
Return values
self —getDimensions()
Return the image dimensions based on the option that was chosen.
protected
getDimensions(int $newWidth, int $newHeight) : array<string|int, mixed>
Parameters
- $newWidth : int
-
The width of the image
- $newHeight : int
-
The height of the image
Tags
Return values
array<string|int, mixed> —getHeight()
Receives the image's height while respecting the exif orientation
protected
getHeight() : int
Return values
int —getOptimalCrop()
Attempts to find the best way to crop. Whether crop is based on the image being portrait or landscape.
protected
getOptimalCrop(int $newWidth, int $newHeight) : array<string|int, mixed>
Parameters
- $newWidth : int
-
The width of the image
- $newHeight : int
-
The height of the image
Return values
array<string|int, mixed> —getOption()
Gets an individual resizer option.
protected
getOption(string $option) : mixed
Parameters
- $option : string
-
Option name to get
Return values
mixed —Depends on the option
getOrientation()
Receives the image's exif orientation
protected
getOrientation(File $file) : int|null
Parameters
- $file : File
Return values
int|null —getRotatedOriginal()
Receives the original but rotated image according to exif orientation
protected
getRotatedOriginal() : resource
Return values
resource —(gd)
getSizeByAuto()
Checks to see if an image is portrait or landscape and resizes accordingly.
protected
getSizeByAuto(int $newWidth, int $newHeight) : array<string|int, mixed>
Parameters
- $newWidth : int
-
The width of the image
- $newHeight : int
-
The height of the image
Return values
array<string|int, mixed> —getSizeByFit()
Fit the image inside a bounding box using maximum width and height constraints.
protected
getSizeByFit(int $maxWidth, int $maxHeight) : array<string|int, mixed>
Parameters
- $maxWidth : int
-
The maximum width of the image
- $maxHeight : int
-
The maximum height of the image
Return values
array<string|int, mixed> —getSizeByFixedHeight()
Returns the width based on the image height
protected
getSizeByFixedHeight(int $newHeight) : int
Parameters
- $newHeight : int
-
The height of the image
Return values
int —getSizeByFixedWidth()
Returns the height based on the image width
protected
getSizeByFixedWidth(int $newWidth) : int
Parameters
- $newWidth : int
-
The width of the image
Return values
int —getWidth()
Receives the image's width while respecting the exif orientation
protected
getWidth() : int
Return values
int —openImage()
Open a file, detect its mime-type and create an image resource from it.
protected
openImage(File $file) : mixed
Parameters
- $file : File
-
File instance
Tags
Return values
mixed —retainImageTransparency()
Manipulate an image resource in order to keep transparency for PNG and GIF files.
protected
retainImageTransparency( $img) : mixed
Parameters
Return values
mixed —setOption()
Sets an individual resizer option.
protected
setOption(string $option, mixed $value) : self
Parameters
- $option : string
-
Option name to set
- $value : mixed
-
Option value to set