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. 10 core/lib/Drupal/Core/ImageToolkit/ImageToolkitBase.php \Drupal\Core\ImageToolkit\ImageToolkitBase::apply()

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.