(PHP 4 >= 4.0.6, PHP 5)
imagecopymergegray — Copy and merge part of an image with gray scale
$dst_im
   , resource $src_im
   , int $dst_x
   , int $dst_y
   , int $src_x
   , int $src_y
   , int $src_w
   , int $src_h
   , int $pct
   )
   imagecopymergegray() copy a part of src_im onto
   dst_im starting at the x,y coordinates
   src_x, src_y  with
   a width of src_w and a height of
   src_h.  The portion defined will be copied
   onto the x,y coordinates, dst_x and
   dst_y.
  
This function is identical to imagecopymerge() except that when merging it preserves the hue of the source by converting the destination pixels to gray scale before the copy operation.
dst_imDestination image link resource.
src_imSource image link resource.
dst_xx-coordinate of destination point.
dst_yy-coordinate of destination point.
src_xx-coordinate of source point.
src_yy-coordinate of source point.
src_wSource width.
src_hSource height.
pct
        The src_im will be changed to grayscale according 
        to pct where 0 is fully grayscale and 100 is 
        unchanged. When pct = 100 this function behaves 
        identically to imagecopy() for pallete images, while 
        it implements alpha transparency for true colour images.
      
   Returns TRUE on success or FALSE on failure.
  
Example #1 imagecopymergegray() usage
<?php
// Create image instances
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');
// Copy and merge - Gray = 20%
imagecopymergegray($dest, $src, 10, 10, 0, 0, 100, 47, 20);
// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);
imagedestroy($dest);
imagedestroy($src);
?>