Image toolkits
Drupal's image toolkits provide an abstraction layer for common image file manipulations like scaling, cropping, and rotating. The abstraction frees module authors from the need to support multiple image libraries, and it allows site administrators to choose the library that's best for them.
PHP includes the GD library by default so a GD toolkit is installed with Drupal. Other toolkits like ImageMagic are available from contrib modules. GD works well for small images, but using it with larger files may cause PHP to run out of memory. In contrast the ImageMagick library does not suffer from this problem, but it requires the ISP to have installed additional software.
Image toolkits are discovered based on the associated module's hook_image_toolkits. Additionally the image toolkit include file must be identified in the files array in the module.info file. The toolkit must then be enabled using the admin/config/media/image-toolkit form.
Only one toolkit may be selected at a time. If a module author wishes to call a specific toolkit they can check that it is installed by calling image_get_available_toolkits(), and then calling its functions directly.
Functions
| Name | Location | Description |
|---|---|---|
| image_crop | includes/image.inc | Crop an image to the rectangle specified by the given rectangle. |
| image_desaturate | includes/image.inc | Convert an image to grayscale. |
| image_gd_check_settings | modules/system/image.gd.inc | Verify GD2 settings (that the right version is actually installed). |
| image_gd_create_tmp | modules/system/image.gd.inc | Create a truecolor image preserving transparency from a provided image. |
| image_gd_crop | modules/system/image.gd.inc | Crop an image using the GD toolkit. |
| image_gd_desaturate | modules/system/image.gd.inc | Convert an image resource to grayscale. |
| image_gd_get_info | modules/system/image.gd.inc | Get details about an image. |
| image_gd_load | modules/system/image.gd.inc | GD helper function to create an image resource from a file. |
| image_gd_resize | modules/system/image.gd.inc | Scale an image to the specified size using GD. |
| image_gd_rotate | modules/system/image.gd.inc | Rotate an image the given number of degrees. |
| image_gd_save | modules/system/image.gd.inc | GD helper to write an image resource to a destination file. |
| image_gd_settings | modules/system/image.gd.inc | Retrieve settings for the GD2 toolkit. |
| image_gd_settings_validate | modules/system/image.gd.inc | Validate the submitted GD settings. |
| image_get_available_toolkits | includes/image.inc | Return a list of available toolkits. |
| image_get_info | includes/image.inc | Get details about an image. |
| image_get_toolkit | includes/image.inc | Retrieve the name of the currently used toolkit. |
| image_load | includes/image.inc | Load an image file and return an image object. |
| image_resize | includes/image.inc | Resize an image to the given dimensions (ignoring aspect ratio). |
| image_rotate | includes/image.inc | Rotate an image by the given number of degrees. |
| image_save | includes/image.inc | Close the image and save the changes to a file. |
| image_scale | includes/image.inc | Scales an image to the given width and height while maintaining aspect ratio. |
| image_scale_and_crop | includes/image.inc | Scales an image to the exact width and height given. |
| image_toolkit_invoke | includes/image.inc | Invokes the given method using the currently selected toolkit. |
