public function SetCanvasImageEffect::applyEffect in Image Effects 8
Same name and namespace in other branches
- 8.3 src/Plugin/ImageEffect/SetCanvasImageEffect.php \Drupal\image_effects\Plugin\ImageEffect\SetCanvasImageEffect::applyEffect()
- 8.2 src/Plugin/ImageEffect/SetCanvasImageEffect.php \Drupal\image_effects\Plugin\ImageEffect\SetCanvasImageEffect::applyEffect()
Applies an image effect to the image object.
Parameters
\Drupal\Core\Image\ImageInterface $image: An image file object.
Return value
bool TRUE on success. FALSE if unable to perform the image effect on the image.
Overrides ImageEffectInterface::applyEffect
File
- src/
Plugin/ ImageEffect/ SetCanvasImageEffect.php, line 215
Class
- SetCanvasImageEffect
- Class SetCanvasImageEffect.
Namespace
Drupal\image_effects\Plugin\ImageEffectCode
public function applyEffect(ImageInterface $image) {
$data = [];
$data['canvas_color'] = $this->configuration['canvas_color'];
// Get resulting dimensions.
$dimensions = $this
->getDimensions($image
->getWidth(), $image
->getHeight());
$data['width'] = $dimensions['width'];
$data['height'] = $dimensions['height'];
// Get offset of original image.
if ($this->configuration['canvas_size'] === 'exact') {
list($x_pos, $y_pos) = explode('-', $this->configuration['exact']['placement']);
$data['x_pos'] = image_filter_keyword($x_pos, $data['width'], $image
->getWidth()) + $this->configuration['exact']['x_offset'];
$data['y_pos'] = image_filter_keyword($y_pos, $data['height'], $image
->getHeight()) + $this->configuration['exact']['y_offset'];
}
else {
$data['x_pos'] = $this->configuration['relative']['left'];
$data['y_pos'] = $this->configuration['relative']['top'];
}
// All the math is done, now defer to the toolkit in use.
return $image
->apply('set_canvas', $data);
}