You are here

class SetGifTransparentColor in Image Effects 8.2

Same name in this branch
  1. 8.2 src/Plugin/ImageToolkit/Operation/gd/SetGifTransparentColor.php \Drupal\image_effects\Plugin\ImageToolkit\Operation\gd\SetGifTransparentColor
  2. 8.2 src/Plugin/ImageToolkit/Operation/imagemagick/SetGifTransparentColor.php \Drupal\image_effects\Plugin\ImageToolkit\Operation\imagemagick\SetGifTransparentColor
Same name and namespace in other branches
  1. 8.3 src/Plugin/ImageToolkit/Operation/imagemagick/SetGifTransparentColor.php \Drupal\image_effects\Plugin\ImageToolkit\Operation\imagemagick\SetGifTransparentColor
  2. 8 src/Plugin/ImageToolkit/Operation/imagemagick/SetGifTransparentColor.php \Drupal\image_effects\Plugin\ImageToolkit\Operation\imagemagick\SetGifTransparentColor

Defines ImageMagick set_gif_transparent_color image operation.

Plugin annotation


@ImageToolkitOperation(
  id = "image_effects_imagemagick_set_gif_transparent_color",
  toolkit = "imagemagick",
  operation = "set_gif_transparent_color",
  label = @Translation("Set the image transparent color"),
  description = @Translation("Set the image transparent color for GIF images.")
)

Hierarchy

Expanded class hierarchy of SetGifTransparentColor

File

src/Plugin/ImageToolkit/Operation/imagemagick/SetGifTransparentColor.php, line 19

Namespace

Drupal\image_effects\Plugin\ImageToolkit\Operation\imagemagick
View source
class SetGifTransparentColor extends ImagemagickImageToolkitOperationBase {
  use ImagemagickOperationTrait;
  use SetGifTransparentColorTrait;

  /**
   * {@inheritdoc}
   */
  protected function execute(array $arguments) {
    $toolkit_arguments = $this
      ->getToolkit()
      ->arguments();
    $format = $toolkit_arguments
      ->getDestinationFormat() ?: $toolkit_arguments
      ->getSourceFormat();
    $mime_type = $this
      ->getFormatMapper()
      ->getMimeTypeFromFormat($format);
    if ($mime_type === 'image/gif' && $arguments['transparent_color']) {
      $find = $toolkit_arguments
        ->find('/^\\-alpha off \\-transparent\\-color/');
      if (!empty($find)) {
        reset($find);
        $toolkit_arguments
          ->remove(key($find));
      }
      $this
        ->addArgument('-alpha off -transparent-color ' . $this
        ->escapeArgument($arguments['transparent_color']) . ' -transparent ' . $this
        ->escapeArgument($arguments['transparent_color']));
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ImagemagickOperationTrait::$formatMapper protected property The format mapper service.
ImagemagickOperationTrait::getFormatMapper protected function Returns the format mapper service.
SetGifTransparentColor::execute protected function
SetGifTransparentColorTrait::arguments protected function
SetGifTransparentColorTrait::validateArguments protected function