1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/////////////////////// _config.php ///////////////////////

Object::add_extension('Image', 'GrayscaleImageDecorator');


/////////////////////// Template ///////////////////////

<% control Photo %>
<% control CroppedImage(158, 131)
<img src="$GrayscaleImage().URL" alt="" />
<% end_control %>
<% end_control %>

/////////////////////// GrayscaleImageDecorator.php ///////////////////////

<?php

class GrayscaleImageDecorator extends DataObjectDecorator
{
/* Greyscale image */
public function GreyscaleImage($RGB = '100 100 100') {
  return $this->owner->getFormattedImage('GreyscaleImage', $RGB);
}

public function generateGreyscaleImage(GD $gd, $RGB) {
  $Vars = explode(' ', $RGB);     
  return $gd->greyscale($Vars[0], $Vars[1], $Vars[2]);
}


}