How to copy the palette from one image to another using imagepalettecopy() function in PHP?


imagepalettecopy() is an inbuilt PHP function that is used to copy the palette from one image to another. This function copies the palette from the source image to the destination image.

Syntax

void imagepalettecopy(resource $destination, resource $source)

Parameters

imagepalettecopy() accepts two parameters − $source and $destination.

  • $destination − Specifies the destination image resource.

  • $source − Specifies the source image resource.

Return Values

imagepalettecopy() retuns no values.

Example 1

<?php
   // Create two palette images using imagecreate() function.
   $palette1 = imagecreate(700, 300);
   $palette2 = imagecreate(700, 300);
   
   // Allocate the background to be
   // gray in the first palette image
   $gray = imagecolorallocate($palette1, 122, 122, 122);

   // Copy the palette from image 1 to image 2
   imagepalettecopy($palette2, $palette1);

   // gray color allocated to image 1 without using
   // imagecolorallocate() twice
   imagefilledrectangle($palette2, 0, 0, 99, 99, $gray);

   // Output image to the browser
   header('Content-type: image/png');
   imagepng($palette2);
   imagedestroy($palette1);
   imagedestroy($palette2);
?>

Output

Example 2

 Live Demo

<?php
   // Created two palette images using imagecreate() function.
   $palette1 = imagecreate(500, 200);
   $palette2 = imagecreate(500, 200);

   // Create a gray color
   $gray= imagecolorallocate($palette1, 0, 255, 0);

   // gray color as the background to palette 1
   imagefilledrectangle($palette1, 0, 0, 99, 99, $gray);

   // Copy the palette from image 1 to image 2
   imagepalettecopy($palette2, $palette1);

   // Get the number of colors in the image
   $color1 = imagecolorstotal($palette1);
   $color2 = imagecolorstotal($palette2);
   
   echo "Colors in image 1 are " . $color1 . "<br>";
   echo "Colors in image 2 is " . $color2;
?>

Output

Colors in image 1 are 1
Colors in image 2 are 1

Updated on: 09-Aug-2021

71 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements