如何利用 PHP 中的 imagepalettecopy() 函式將一個影像中的調色盤複製到另一個影像中?


imagepalettecopy() 是一個內建 PHP 函式,用於將一個影像中的調色盤複製到另一個影像中。此函式將調色盤從源影像複製到目標影像。

語法

void imagepalettecopy(resource $destination, resource $source)

引數

imagepalettecopy() 接受兩個引數 - $source$destination

  • $destination - 指定目標影像資源。

  • $source - 指定源影像資源。

返回值

imagepalettecopy() 不返回任何值。

示例 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);
?>

輸出

示例 2

 現場演示

<?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;
?>

輸出

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

更新於: 2021 年 8 月 9 日

94 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告