class Shadow in Imagick 8
Defines imagick shadow operation.
Plugin annotation
@ImageToolkitOperation(
  id = "imagick_shadow",
  toolkit = "imagick",
  operation = "shadow",
  label = @Translation("Shadow"),
  description = @Translation("Generates a shadow around an image.")
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait- class \Drupal\Core\ImageToolkit\ImageToolkitOperationBase implements ImageToolkitOperationInterface- class \Drupal\imagick\Plugin\ImageToolkit\Operation\imagick\ImagickOperationBase uses ImagickOperationTrait- class \Drupal\imagick\Plugin\ImageToolkit\Operation\imagick\Shadow
 
 
- class \Drupal\imagick\Plugin\ImageToolkit\Operation\imagick\ImagickOperationBase uses ImagickOperationTrait
 
- class \Drupal\Core\ImageToolkit\ImageToolkitOperationBase implements ImageToolkitOperationInterface
 
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of Shadow
File
- src/Plugin/ ImageToolkit/ Operation/ imagick/ Shadow.php, line 19 
Namespace
Drupal\imagick\Plugin\ImageToolkit\Operation\imagickView source
class Shadow extends ImagickOperationBase {
  /**
   * {@inheritdoc}
   */
  protected function arguments() {
    return [
      'color' => [
        'description' => 'The color of the shadow.',
      ],
      'opacity' => [
        'description' => 'The opacity of the shadow.',
      ],
      'sigma' => [
        'description' => 'The sigma of the shadow.',
      ],
      'x' => [
        'description' => 'The angle of the shadow.',
      ],
      'y' => [
        'description' => 'The angle of the shadow.',
      ],
    ];
  }
  /**
   * {@inheritdoc}
   */
  protected function process(Imagick &$resource, array $arguments) {
    $color = $arguments['color'];
    $opacity = $arguments['opacity'];
    $sigma = $arguments['sigma'];
    $x = $arguments['x'];
    $y = $arguments['y'];
    $color = empty($color) ? 'none' : $color;
    $shadow = clone $resource;
    $shadow
      ->setImageBackgroundColor(new ImagickPixel($color));
    $shadow
      ->shadowImage($opacity, $sigma, $x, $y);
    $success = $shadow
      ->compositeImage($resource, Imagick::COMPOSITE_OVER, -$x + $sigma * 2, -$y + $sigma * 2);
    $resource = $shadow;
    return $success;
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| DependencySerializationTrait:: | protected | property | An array of entity type IDs keyed by the property name of their storages. | |
| DependencySerializationTrait:: | protected | property | An array of service IDs keyed by property name used for serialization. | |
| DependencySerializationTrait:: | public | function | 1 | |
| DependencySerializationTrait:: | public | function | 2 | |
| ImageToolkitOperationBase:: | protected | property | A logger instance. | |
| ImageToolkitOperationBase:: | protected | property | The image toolkit. | |
| ImageToolkitOperationBase:: | final public | function | Applies a toolkit specific operation to an image. Overrides ImageToolkitOperationInterface:: | |
| ImageToolkitOperationBase:: | protected | function | Returns the image toolkit instance for this operation. | 1 | 
| ImageToolkitOperationBase:: | protected | function | Checks if required arguments are passed in and adds defaults for non passed in optional arguments. | |
| ImageToolkitOperationBase:: | protected | function | Validates the arguments. | 6 | 
| ImageToolkitOperationBase:: | public | function | Constructs an image toolkit operation plugin. Overrides PluginBase:: | |
| ImagickOperationTrait:: | protected | function | 3 | |
| ImagickOperationTrait:: | protected | function | Process image frames for GIFs | |
| MessengerTrait:: | protected | property | The messenger. | 29 | 
| MessengerTrait:: | public | function | Gets the messenger. | 29 | 
| MessengerTrait:: | public | function | Sets the messenger. | |
| PluginBase:: | protected | property | Configuration information passed into the plugin. | 1 | 
| PluginBase:: | protected | property | The plugin implementation definition. | 1 | 
| PluginBase:: | protected | property | The plugin_id. | |
| PluginBase:: | constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
| PluginBase:: | public | function | Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: | 3 | 
| PluginBase:: | public | function | Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: | |
| PluginBase:: | public | function | Determines if the plugin is configurable. | |
| Shadow:: | protected | function | Returns the definition of the operation arguments. Overrides ImageToolkitOperationBase:: | |
| Shadow:: | protected | function | ||
| StringTranslationTrait:: | protected | property | The string translation service. | 1 | 
| StringTranslationTrait:: | protected | function | Formats a string containing a count of items. | |
| StringTranslationTrait:: | protected | function | Returns the number of plurals supported by a given language. | |
| StringTranslationTrait:: | protected | function | Gets the string translation service. | |
| StringTranslationTrait:: | public | function | Sets the string translation service to use. | 2 | 
| StringTranslationTrait:: | protected | function | Translates a string to the current language or to a given language. | 
