function ImageToolkitBase::apply

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/ImageToolkit/ImageToolkitBase.php \Drupal\Core\ImageToolkit\ImageToolkitBase::apply()
  2. 8.9.x core/lib/Drupal/Core/ImageToolkit/ImageToolkitBase.php \Drupal\Core\ImageToolkit\ImageToolkitBase::apply()
  3. 11.x core/lib/Drupal/Core/ImageToolkit/ImageToolkitBase.php \Drupal\Core\ImageToolkit\ImageToolkitBase::apply()

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.

Overrides ImageToolkitInterface::apply

2 calls to ImageToolkitBase::apply()
GDToolkit::load in core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php
Loads an image from a file.
TestToolkit::apply in core/modules/system/tests/modules/image_test/src/Plugin/ImageToolkit/TestToolkit.php
Applies a toolkit operation to an image.
1 method overrides ImageToolkitBase::apply()
TestToolkit::apply in core/modules/system/tests/modules/image_test/src/Plugin/ImageToolkit/TestToolkit.php
Applies a toolkit operation to an image.

File

core/lib/Drupal/Core/ImageToolkit/ImageToolkitBase.php, line 121

Class

ImageToolkitBase
Provides a base class for image toolkit plugins.

Namespace

Drupal\Core\ImageToolkit

Code

public function apply($operation, array $arguments = []) {
  try {
    // Get the plugin to use for the operation and apply the operation.
    return $this->getToolkitOperation($operation)
      ->apply($arguments);
  } catch (PluginNotFoundException $e) {
    $this->logger
      ->error("The selected image handling toolkit '@toolkit' can not process operation '@operation'.", [
      '@toolkit' => $this->getPluginId(),
      '@operation' => $operation,
    ]);
    return FALSE;
  } catch (\Throwable $t) {
    $this->logger
      ->warning("The image toolkit '@toolkit' failed processing '@operation' for image '@image'. Reported error: @class - @message", [
      '@toolkit' => $this->getPluginId(),
      '@operation' => $operation,
      '@image' => $this->getSource(),
      '@class' => get_class($t),
      '@message' => $t->getMessage(),
    ]);
    return FALSE;
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.