d34161ecc59f9311fe4eab81d6862bdbb2660347
[yaffs-website] / web / core / modules / image / src / Plugin / ImageEffect / DesaturateImageEffect.php
1 <?php
2
3 namespace Drupal\image\Plugin\ImageEffect;
4
5 use Drupal\Core\Image\ImageInterface;
6 use Drupal\image\ImageEffectBase;
7
8 /**
9  * Desaturates (grayscale) an image resource.
10  *
11  * @ImageEffect(
12  *   id = "image_desaturate",
13  *   label = @Translation("Desaturate"),
14  *   description = @Translation("Desaturate converts an image to grayscale.")
15  * )
16  */
17 class DesaturateImageEffect extends ImageEffectBase {
18
19   /**
20    * {@inheritdoc}
21    */
22   public function applyEffect(ImageInterface $image) {
23     if (!$image->desaturate()) {
24       $this->logger->error('Image desaturate failed using the %toolkit toolkit on %path (%mimetype, %dimensions)', ['%toolkit' => $image->getToolkitId(), '%path' => $image->getSource(), '%mimetype' => $image->getMimeType(), '%dimensions' => $image->getWidth() . 'x' . $image->getHeight()]);
25       return FALSE;
26     }
27     return TRUE;
28   }
29
30 }