1 <?php
2
3 class rex_effect_filter_contrast extends rex_effect_abstract
4 {
5 public function execute()
6 {
7 $this->params['contrast'] = (int) $this->params['contrast'];
8 if (!$this->params['contrast']) {
9 $this->params['contrast'] = 0;
10 }
11 if ($this->params['contrast'] < -100) {
12 $this->params['contrast'] = -100;
13 }
14 if ($this->params['contrast'] > 100) {
15 $this->params['contrast'] = 100;
16 }
17 $this->media->asImage();
18 $img = $this->media->getImage();
19
20 imagefilter($img, IMG_FILTER_CONTRAST, $this->params['contrast']);
21 $this->media->setImage($img);
22 }
23
24 public function getName()
25 {
26 return rex_i18n::msg('media_manager_effect_contrast');
27 }
28
29 public function getParams()
30 {
31 return [
32 [
33 'label' => rex_i18n::msg('media_manager_effect_contrast_value'),
34 'notice' => rex_i18n::msg('media_manager_effect_contrast_notice'),
35 'name' => 'contrast',
36 'type' => 'int',
37 'default' => '',
38 ],
39 ];
40 }
41 }
42