Configuring image alternatives
Generation of alternative image file sizes/formats automatically is possible via the "$image_alternatives" configuration option. This works in a similar way to video file alternatives.
The setting controls the options fed to the ImageMagick utility when creating that alternative. This is defined as an array. The elements, each defining a format/size, must be numbered sequentially (0, 1, 2). Each block defines several parameters used for the creation of the format/size.
name | The display name of the alternative file |
filename | The filename used when the alternative is downloaded |
params | Any extra parameters to pass to ImageMagick for example DPI |
source_extensions | A comma-separated list of the files that will be processed, e.g. "eps,png,gif" (note no spaces) |
source_params | Parameters for the source file (e.g. -density 1200) |
icc | If set to true, extract the ICC profile from the source image and use it when generating the target image |
For details on supported options, see: https://imagemagick.org/script/command-line-options.php
Examples
The following configuration will set that three different variations are potentially produced, depending on matches in the "source extensions" parameter. Note the sequential block numbering.
# Example - automatically create a PNG file alternative when an EPS file is uploaded.
# $image_alternatives[0]["name"]="PNG File";
# $image_alternatives[0]["source_extensions"]="eps";
# $image_alternatives[0]["source_params"]="";
# $image_alternatives[0]["filename"]="alternative_png";
# $image_alternatives[0]["target_extension"]="png";
# $image_alternatives[0]["params"]="-density 300"; # 300 dpi
# $image_alternatives[0]["icc"]=false;
# Example - automatically create a CMYK JPEG file alternative from a JPEG or TIFF
# $image_alternatives[1]["name"]="CMYK JPEG";
# $image_alternatives[1]["source_extensions"]="jpg,jpeg,tif,tiff";
# $image_alternatives[1]["source_params"]="";
# $image_alternatives[1]["filename"]="cmyk";
# $image_alternatives[1]["target_extension"]="jpg";
# $image_alternatives[1]["params"]="-quality 100 -flatten $icc_preview_options -profile ".dirname(__FILE__) . "/../iccprofiles/name_of_cmyk_profile.icc"; # Quality 100 JPEG with specific CMYK ICC Profile
# $image_alternatives[1]["icc"]=true; # use source ICC profile in command
# Example - automatically create a JPG2000 file alternative when an TIF file is uploaded
# $image_alternatives[2]['name'] = 'JPG2000 File';
# $image_alternatives[2]['source_extensions'] = 'tif,tiff';
# $image_alternatives[2]["source_params"]="";
# $image_alternatives[2]['filename'] = 'New JP2 Alternative';
# $image_alternatives[2]['target_extension'] = 'jp2';
# $image_alternatives[2]['params'] = '';
# $image_alternatives[2]['icc'] = false;
Offline generation of previews/alternative files
It is recommended that system administrators enable the offline job queue so that users uploading files do not have to wait while previews and alternative files are created.