imagecopymergegray() converts the source image to grayscale and then
copies all (or a portion) of an image and merges it with another canvas by
$percent
imagecopymergegray($dest_r, $src_r, $dest_x, $dest_y, $src_x, $src_y, $src_w, $src_h, $percent);
<?php
define("SRC_FILE", "php.png");
$img = imagecreatefrompng(SRC_FILE);
$img_copy = imagecreatefrompng(SRC_FILE);
imagecopymergegray($img_copy, $img, 10, 10, 0, 0,
imagesx($img), imagesy($img), 50);
header("Content-Type: image/png");
imagepng($img_copy);
?>