class ScaleAndSmartCrop in Image Effects 8.3
Same name in this branch
- 8.3 src/Plugin/ImageToolkit/Operation/gd/ScaleAndSmartCrop.php \Drupal\image_effects\Plugin\ImageToolkit\Operation\gd\ScaleAndSmartCrop
- 8.3 src/Plugin/ImageToolkit/Operation/imagemagick/ScaleAndSmartCrop.php \Drupal\image_effects\Plugin\ImageToolkit\Operation\imagemagick\ScaleAndSmartCrop
Same name and namespace in other branches
- 8 src/Plugin/ImageToolkit/Operation/imagemagick/ScaleAndSmartCrop.php \Drupal\image_effects\Plugin\ImageToolkit\Operation\imagemagick\ScaleAndSmartCrop
- 8.2 src/Plugin/ImageToolkit/Operation/imagemagick/ScaleAndSmartCrop.php \Drupal\image_effects\Plugin\ImageToolkit\Operation\imagemagick\ScaleAndSmartCrop
Defines Imagemagick Scale and Smart Crop operation.
Plugin annotation
@ImageToolkitOperation(
id = "image_effects_imagemagick_scale_and_smart_crop",
toolkit = "imagemagick",
operation = "scale_and_smart_crop",
label = @Translation("Scale and Smart Crop"),
description = @Translation("Similar to Scale And Crop, but preserves the portion of the image with the most entropy.")
)
Hierarchy
- class \Drupal\image_effects\Plugin\ImageToolkit\Operation\imagemagick\ScaleAndSmartCrop extends \Drupal\imagemagick\Plugin\ImageToolkit\Operation\imagemagick\ImagemagickImageToolkitOperationBase uses ScaleAndSmartCropTrait
Expanded class hierarchy of ScaleAndSmartCrop
File
- src/
Plugin/ ImageToolkit/ Operation/ imagemagick/ ScaleAndSmartCrop.php, line 19
Namespace
Drupal\image_effects\Plugin\ImageToolkit\Operation\imagemagickView source
class ScaleAndSmartCrop extends ImagemagickImageToolkitOperationBase {
use ScaleAndSmartCropTrait;
/**
* {@inheritdoc}
*/
protected function execute(array $arguments = []) {
// Don't scale if we don't change the dimensions at all.
if ($arguments['width'] !== $this
->getToolkit()
->getWidth() || $arguments['height'] !== $this
->getToolkit()
->getHeight()) {
// Don't upscale if the option isn't enabled.
if ($arguments['upscale'] || $arguments['width'] <= $this
->getToolkit()
->getWidth() && $arguments['height'] <= $this
->getToolkit()
->getHeight()) {
return $this
->getToolkit()
->apply('resize', $arguments['resize']) && $this
->getToolkit()
->apply('smart_crop', $arguments);
}
}
return TRUE;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ScaleAndSmartCrop:: |
protected | function | ||
ScaleAndSmartCropTrait:: |
protected | function | ||
ScaleAndSmartCropTrait:: |
protected | function |