(PHP 4 >= 4.0.6, PHP 5, PHP 7)
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, except for
        ignoring alpha components, 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);
?>