class GDToolkit extends ImageToolkitBase (View source)

Defines the GD2 toolkit for image manipulation within Drupal.

Traits

Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.

Provides dependency injection friendly methods for serialization.

Provides a trait for the messenger service.

Constants

DERIVATIVE_SEPARATOR

A string which is used to separate base plugin IDs from the derivative ID.

Properties

protected string $pluginId

The plugin_id.

from  PluginBase
protected array $pluginDefinition

The plugin implementation definition.

from  PluginBase
protected array $configuration

Configuration information passed into the plugin.

from  PluginBase
protected TranslationInterface $stringTranslation

The string translation service.

from  StringTranslationTrait
protected array $_serviceIds

An array of service IDs keyed by property name used for serialization.

from  DependencySerializationTrait
protected array $_entityStorages

An array of entity type IDs keyed by the property name of their storages.

from  DependencySerializationTrait
protected MessengerInterface $messenger

The messenger.

from  MessengerTrait
protected ConfigFactoryInterface $configFactory

The config factory.

from  ImageToolkitBase
protected string $source

Path of the image file.

from  ImageToolkitBase
protected ImageToolkitOperationManagerInterface $operationManager

The image toolkit operation manager.

from  ImageToolkitBase
protected LoggerInterface $logger

A logger instance.

from  ImageToolkitBase
protected resource|null $resource

A GD image resource.

protected int $type

Image type represented by a PHP IMAGETYPE_* constant (e.g. IMAGETYPE_JPEG).

protected array|null $preLoadInfo

Image information from a file, available prior to loading the GD resource.

protected StreamWrapperManagerInterface $streamWrapperManager

The StreamWrapper manager.

protected FileSystemInterface $fileSystem

The file system.

Methods

__construct(array $configuration, string $plugin_id, mixed $plugin_definition, ImageToolkitOperationManagerInterface $operation_manager, LoggerInterface $logger, ConfigFactoryInterface $config_factory, StreamWrapperManagerInterface $stream_wrapper_manager, FileSystemInterface $file_system = NULL)

Constructs a GDToolkit object.

string
getPluginId()

Gets the plugin_id of the plugin instance.

string
getBaseId()

Gets the base_plugin_id of the plugin instance.

string|null
getDerivativeId()

Gets the derivative_id of the plugin instance.

array
getPluginDefinition()

Gets the definition of the plugin implementation.

bool
isConfigurable()

Determines if the plugin is configurable.

t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

getStringTranslation()

Gets the string translation service.

$this
setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

__sleep()

{@inheritdoc}

__wakeup()

{@inheritdoc}

setMessenger(MessengerInterface $messenger)

Sets the messenger.

messenger()

Gets the messenger.

validateConfigurationForm(array $form, FormStateInterface $form_state)

Form validation handler.

$this
setSource(string $source)

Sets the source path of the image file.

string
getSource()

Gets the source path of the image file.

array
getRequirements()

Gets toolkit requirements in a format suitable for hook_requirements().

getToolkitOperation(string $operation)

Gets a toolkit operation plugin instance.

bool
apply(string $operation, array $arguments = [])

Applies a toolkit operation to an image.

__destruct()

Destructs a GDToolkit object.

create(ContainerInterface $container, array $configuration, string $plugin_id, mixed $plugin_definition)

Creates an instance of the plugin.

$this
setResource(resource $resource)

Sets the GD image resource.

resource|null
getResource()

Retrieves the GD image resource.

array
buildConfigurationForm(array $form, FormStateInterface $form_state)

Form constructor.

submitConfigurationForm(array $form, FormStateInterface $form_state)

Form submission handler.

bool
load()

Loads a GD resource from a file.

bool
isValid()

Checks if the image is valid.

bool
save(string $destination)

Writes an image resource to a destination file.

bool
parseFile()

Determines if a file contains a valid image.

string|null
getTransparentColor()

Gets the color set for transparency in GIF images.

int|null
getWidth()

Returns the width of the image.

int|null
getHeight()

Returns the height of the image.

int
getType()

Gets the PHP type of the image.

$this
setType(int $type)

Sets the PHP type of the image.

string
getMimeType()

Returns the MIME type of the image file.

static bool
isAvailable()

Verifies that the Image Toolkit is set up correctly.

static array
getSupportedExtensions()

Returns a list of image file extensions supported by the toolkit.

int
extensionToImageType(string $extension)

Returns the IMAGETYPE_xxx constant for the given extension.

static array
supportedTypes()

Returns a list of image types supported by the toolkit.

Details

__construct(array $configuration, string $plugin_id, mixed $plugin_definition, ImageToolkitOperationManagerInterface $operation_manager, LoggerInterface $logger, ConfigFactoryInterface $config_factory, StreamWrapperManagerInterface $stream_wrapper_manager, FileSystemInterface $file_system = NULL)

Constructs a GDToolkit object.

Parameters

array $configuration

A configuration array containing information about the plugin instance.

string $plugin_id

The plugin_id for the plugin instance.

mixed $plugin_definition

The plugin implementation definition.

ImageToolkitOperationManagerInterface $operation_manager

The toolkit operation manager.

LoggerInterface $logger

A logger instance.

ConfigFactoryInterface $config_factory

The config factory.

StreamWrapperManagerInterface $stream_wrapper_manager

The StreamWrapper manager.

FileSystemInterface $file_system

The file system.

string getPluginId()

Gets the plugin_id of the plugin instance.

Return Value

string

The plugin_id of the plugin instance.

string getBaseId()

Gets the base_plugin_id of the plugin instance.

Return Value

string

The base_plugin_id of the plugin instance.

string|null getDerivativeId()

Gets the derivative_id of the plugin instance.

Return Value

string|null

The derivative_id of the plugin instance NULL otherwise.

array getPluginDefinition()

Gets the definition of the plugin implementation.

Return Value

array

The plugin definition, as returned by the discovery object used by the plugin manager.

bool isConfigurable()

Determines if the plugin is configurable.

Return Value

bool

A boolean indicating whether the plugin is configurable.

protected TranslatableMarkup t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.

In order for strings to be localized, make them available in one of the ways supported by the

Parameters

string $string

A string containing the English text to translate.

array $args

(optional) An associative array of replacements to make after translation. Based on the first character of the key, the value is escaped and/or themed. See \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for details.

array $options

(optional) An associative array of additional options, with the following elements:

  • 'langcode' (defaults to the current language): A language code, to translate to a language other than what is used to display the page.
  • 'context' (defaults to the empty context): The context the source string belongs to. See the @link i18n Internationalization topic @endlink for more information about string contexts.

Return Value

TranslatableMarkup

An object that, when cast to a string, returns the translated string.

See also

FormattableMarkup::placeholderFormat
TranslatableMarkup::__construct

protected formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

Parameters

$count
$singular
$plural
array $args
array $options

See also

TranslationInterface::formatPlural

protected getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

Parameters

$langcode

See also

PluralFormulaInterface::getNumberOfPlurals

protected TranslationInterface getStringTranslation()

Gets the string translation service.

Return Value

TranslationInterface

The string translation service.

$this setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

Parameters

TranslationInterface $translation

The string translation service.

Return Value

$this

__sleep()

{@inheritdoc}

__wakeup()

{@inheritdoc}

setMessenger(MessengerInterface $messenger)

Sets the messenger.

Parameters

MessengerInterface $messenger

The messenger.

MessengerInterface messenger()

Gets the messenger.

Return Value

MessengerInterface

The messenger.

validateConfigurationForm(array $form, FormStateInterface $form_state)

Form validation handler.

Parameters

array $form

An associative array containing the structure of the plugin form as built by static::buildConfigurationForm().

FormStateInterface $form_state

The current state of the form. Calling code should pass on a subform state created through \Drupal\Core\Form\SubformState::createForSubform().

$this setSource(string $source)

Sets the source path of the image file.

Parameters

string $source

The source path of the image file.

Return Value

$this

An instance of the current toolkit object.

Exceptions

BadMethodCallException

string getSource()

Gets the source path of the image file.

Return Value

string

The source path of the image file, or an empty string if the source is not set.

array getRequirements()

Gets toolkit requirements in a format suitable for hook_requirements().

Return Value

array

An associative requirements array as is returned by hook_requirements(). If the toolkit claims no requirements to the system, returns an empty array. The array can have arbitrary keys and they do not have to be prefixed by e.g. the module name or toolkit ID, as the system will make the keys globally unique.

protected ImageToolkitOperationInterface getToolkitOperation(string $operation)

Gets a toolkit operation plugin instance.

Parameters

string $operation

The toolkit operation requested.

Return Value

ImageToolkitOperationInterface

An instance of the requested toolkit operation plugin.

bool apply(string $operation, array $arguments = [])

Applies a toolkit operation to an image.

Parameters

string $operation

The toolkit operation to be processed.

array $arguments

An associative array of arguments to be passed to the toolkit operation, e.g. array('width' => 50, 'height' => 100, 'upscale' => TRUE).

Return Value

bool

TRUE if the operation was performed successfully, FALSE otherwise.

__destruct()

Destructs a GDToolkit object.

Frees memory associated with a GD image resource.

static ContainerFactoryPluginInterface create(ContainerInterface $container, array $configuration, string $plugin_id, mixed $plugin_definition)

Creates an instance of the plugin.

Parameters

ContainerInterface $container

The container to pull out services used in the plugin.

array $configuration

A configuration array containing information about the plugin instance.

string $plugin_id

The plugin ID for the plugin instance.

mixed $plugin_definition

The plugin implementation definition.

Return Value

ContainerFactoryPluginInterface

Returns an instance of this plugin.

$this setResource(resource $resource)

Sets the GD image resource.

Parameters

resource $resource

The GD image resource.

Return Value

$this

An instance of the current toolkit object.

resource|null getResource()

Retrieves the GD image resource.

Return Value

resource|null

The GD image resource, or NULL if not available.

array buildConfigurationForm(array $form, FormStateInterface $form_state)

Form constructor.

Plugin forms are embedded in other forms. In order to know where the plugin form is located in the parent form, #parents and #array_parents must be known, but these are not available during the initial build phase. In order to have these properties available when building the plugin form's elements, let this method return a form element that has a #process callback and build the rest of the form in the callback. By the time the callback is executed, the element's #parents and #array_parents properties will have been set by the form API. For more documentation on #parents and

array_parents, see \Drupal\Core\Render\Element\FormElement.

Parameters

array $form

An associative array containing the initial structure of the plugin form.

FormStateInterface $form_state

The current state of the form. Calling code should pass on a subform state created through \Drupal\Core\Form\SubformState::createForSubform().

Return Value

array

The form structure.

submitConfigurationForm(array $form, FormStateInterface $form_state)

Form submission handler.

Parameters

array $form

An associative array containing the structure of the plugin form as built by static::buildConfigurationForm().

FormStateInterface $form_state

The current state of the form. Calling code should pass on a subform state created through \Drupal\Core\Form\SubformState::createForSubform().

protected bool load()

Loads a GD resource from a file.

Return Value

bool

TRUE or FALSE, based on success.

bool isValid()

Checks if the image is valid.

Return Value

bool

TRUE if the image toolkit is currently handling a valid image, FALSE otherwise.

bool save(string $destination)

Writes an image resource to a destination file.

Parameters

string $destination

A string file URI or path where the image should be saved.

Return Value

bool

TRUE on success, FALSE on failure.

bool parseFile()

Determines if a file contains a valid image.

Drupal supports GIF, JPG and PNG file formats when used with the GD toolkit, and may support others, depending on which toolkits are installed.

Return Value

bool

TRUE if the file could be found and is an image, FALSE otherwise.

string|null getTransparentColor()

Gets the color set for transparency in GIF images.

Return Value

string|null

A color string like '#rrggbb', or NULL if not set or not relevant.

int|null getWidth()

Returns the width of the image.

Return Value

int|null

The width of the image, or NULL if the image is invalid.

int|null getHeight()

Returns the height of the image.

Return Value

int|null

The height of the image, or NULL if the image is invalid.

int getType()

Gets the PHP type of the image.

Return Value

int

The image type represented by a PHP IMAGETYPE_* constant (e.g. IMAGETYPE_JPEG).

$this setType(int $type)

Sets the PHP type of the image.

Parameters

int $type

The image type represented by a PHP IMAGETYPE_* constant (e.g. IMAGETYPE_JPEG).

Return Value

$this

string getMimeType()

Returns the MIME type of the image file.

Return Value

string

The MIME type of the image file, or an empty string if the image is invalid.

static bool isAvailable()

Verifies that the Image Toolkit is set up correctly.

Return Value

bool

TRUE if the toolkit is available on this machine, FALSE otherwise.

static array getSupportedExtensions()

Returns a list of image file extensions supported by the toolkit.

Return Value

array

An array of supported image file extensions (e.g. png/jpeg/gif).

int extensionToImageType(string $extension)

Returns the IMAGETYPE_xxx constant for the given extension.

This is the reverse of the image_type_to_extension() function.

Parameters

string $extension

The extension to get the IMAGETYPE_xxx constant for.

Return Value

int

The IMAGETYPE_xxx constant for the given extension, or IMAGETYPE_UNKNOWN for unsupported extensions.

See also

image_type_to_extension()

static protected array supportedTypes()

Returns a list of image types supported by the toolkit.

Return Value

array

An array of available image types. An image type is represented by a PHP IMAGETYPE_* constant (e.g. IMAGETYPE_JPEG, IMAGETYPE_PNG, etc.).