What is the GD library and how can it be used to list all colors of an image in PHP?

The GD library is a graphics library in PHP that allows for image creation, manipulation, and processing. To list all colors of an image using the GD library in PHP, you can use the `imagecolorat` function to get the color of each pixel in the image and then store unique colors in an array.

<?php
// Load the image
$image = imagecreatefromjpeg('image.jpg');

// Get image dimensions
$width = imagesx($image);
$height = imagesy($image);

// Array to store unique colors
$colors = array();

// Loop through each pixel to get color
for ($x = 0; $x < $width; $x++) {
    for ($y = 0; $y < $height; $y++) {
        $rgb = imagecolorat($image, $x, $y);
        $color = imagecolorsforindex($image, $rgb);
        $color_hex = sprintf("#%02x%02x%02x", $color['red'], $color['green'], $color['blue']);
        if (!in_array($color_hex, $colors)) {
            $colors[] = $color_hex;
        }
    }
}

// List all unique colors
foreach ($colors as $color) {
    echo $color . "<br>";
}

// Free up memory
imagedestroy($image);
?>