The Image Resizing service can be used for resizing any image resources accessible to the application.
It works by accepting a variety of image sources and normalizing the pipeline for storing the desired resizing configuration and then deferring the actual resizing of the images until requested by the browser. When the resizer route is hit, the configuration is retrieved from the cache and used to generate the desired image and then redirect to the generated images static path to minimize the load on the server.
Future loads of the image are automatically pointed to the static URL of the resized image without even hitting the resizer route.
The functionality of this class is controlled by these config items:
- cms.storage.resized.disk: The disk to store resized images on
- cms.storage.resized.folder: The folder on the disk to store resized images in
- cms.storage.resized.path: The public path to the resized images as returned by the storage disk's URL method, used to identify already resized images
NOTE: The image resizing service requires a cache driver that persists cache data between requests in order to function,
arrayis not a supported cache driver if you wish to use this service.
The Image Resizer can be access through a number of different methods:
imagebackend list columns
- Passing a supported
- Instantiating an instance of the
System\Classes\ImageResizerclass and using that as desired
The basic parameters provided to the ImageResizer are
(int) $height, and
$height is falsey or
'auto', that value is calculated using original image ratio (automatic proportional scaling).
The following elements are supported in the options array are supported:
||How the image should be fitted to dimensions||
||Offset the crop of the resized image||
||Quality of the resized image||
||Amount to sharpen the image||
mode option allows you to specify how the image should be resized. The available modes are as follows:
||Automatically choose between
||Resize to the exact dimensions given, without preserving aspect ratio|
||Resize to the given height and adapt the width to preserve aspect ratio|
||Resize to the given width and adapt the height to preserve aspect ratio|
||Crop to the given dimensions after fitting as much of the image as possible inside those|
||Fit the image inside the given maximal dimensions, keeping the aspect ratio|
The available sources that images can be resized from are as follows:
- Media Library
- Uploads Directory
- Models that extend the
Available sources can be extended by listening to the