DrawRectangle.php in Image Effects 8
Same filename in this branch
Same filename and directory in other branches
File
src/Plugin/ImageToolkit/Operation/imagemagick/DrawRectangle.phpView source
<?php
namespace Drupal\image_effects\Plugin\ImageToolkit\Operation\imagemagick;
use Drupal\image_effects\Plugin\ImageToolkit\Operation\DrawRectangleTrait;
use Drupal\imagemagick\Plugin\ImageToolkit\Operation\imagemagick\ImagemagickImageToolkitOperationBase;
/**
 * Defines ImageMagick draw rectangle operation.
 *
 * @ImageToolkitOperation(
 *   id = "image_effects_imagemagick_draw_rectangle",
 *   toolkit = "imagemagick",
 *   operation = "draw_rectangle",
 *   label = @Translation("Draw rectangle"),
 *   description = @Translation("Draws  a rectangle on the image, optionally filling it in with a specified color.")
 * )
 */
class DrawRectangle extends ImagemagickImageToolkitOperationBase {
  use DrawRectangleTrait;
  /**
   * {@inheritdoc}
   */
  protected function execute(array $arguments) {
    $arg = '';
    if ($arguments['fill_color']) {
      $arg .= '-fill ' . $this
        ->getToolkit()
        ->escapeShellArg($arguments['fill_color']);
    }
    else {
      $arg .= '-fill none';
    }
    if ($arguments['border_color']) {
      $arg .= ' -stroke ' . $this
        ->getToolkit()
        ->escapeShellArg($arguments['border_color']) . ' -strokewidth 1';
    }
    $a = $arguments['rectangle']
      ->getPoint('c_a');
    $b = $arguments['rectangle']
      ->getPoint('c_b');
    $c = $arguments['rectangle']
      ->getPoint('c_c');
    $d = $arguments['rectangle']
      ->getPoint('c_d');
    $this
      ->getToolkit()
      ->addArgument($arg . ' -draw ' . $this
      ->getToolkit()
      ->escapeShellArg("polygon {$d[0]},{$d[1]} {$c[0]},{$c[1]} {$b[0]},{$b[1]} {$a[0]},{$a[1]}"));
    return TRUE;
  }
}Classes
| 
            Name | 
                  Description | 
|---|---|
| DrawRectangle | Defines ImageMagick draw rectangle operation. |