PHP imagecopymergegray() Function

Last Updated : 11 Jul, 2025

The imagecopymergegray() function is an inbuilt function in PHP that is used to copy and merge the part of an image with a grayscale. This function copies the part of the source image into the destination image. This function returns true on success or false on failure. 

Syntax:

bool imagecopymergegray ( $dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, 
$src_w, $src_h, $pct )

parameters: This function accepts nine parameters as mentioned above and described below:

  • $dst_image: This parameter is used to set the destination image link resource.
  • $src_image: This parameter is used to set the source image link resource.
  • $dst_x: This parameter is used to set the x-coordinate of the destination point.
  • $dst_y: This parameter is used to set the y-coordinate of the destination point.
  • $src_x: This parameter is used to set the x-coordinate of the source point.
  • $src_y: This parameter is used to set the x-coordinate of the source point.
  • $src_w: This parameter is used to set source width.
  • $src_h: This parameter is used to set source height.
  • $pct: This parameter is used to change the grayscale according to $pct. The range of $pct is 0 to 100 where 0 is fully grayscale and 100 is unchanged. If $pct = 0, then no action is taken, and when $pct = 100 then this function behaves similarly to imagecopy() function for palette images, except ignoring the alpha components. It implements alpha transparency for true color images.

Return Value: This function returns true on success or false on failure. The below programs illustrate the imagecopymergegray() function in PHP.

Program 1: 

php
<?php

// Create image instances
$dest = imagecreatefromgif(
'https://media.geeksforgeeks.org/wp-content/uploads/animateImages.gif');

$src = imagecreatefromgif(
'https://media.geeksforgeeks.org/wp-content/uploads/slider.gif');
 
// Copy and merge the image
imagecopymergegray($dest, $src, 10, 10, 0, 0, 700, 200, 75);
 
// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);
 
imagedestroy($dest);
imagedestroy($src);
?>

Output: 

image

 Program 2: 

php
<?php
// Create image instances
$dest = imagecreatefrompng(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-9.png');
$src = imagecreatefrompng(
'https://media.geeksforgeeks.org/wp-content/uploads/temp1.png');
 
// Copy and merge
imagecopymergegray($dest, $src, 10, 10, 0, 0, 700, 200, 75);
 
// Output and free from memory
header('Content-Type: image/png');
imagegif($dest);
 
imagedestroy($dest);
imagedestroy($src);
?>

Output: 

image

Related Articles:

Reference: https://www.php.net/manual/en/function.imagecopymergegray.php

Comment