Помогите разобраться по библиотеке GD ?

1. Суицидник (17.04.2017 / 07:46)
Есть php-код который принимает значения RGB от 0 до 255 и на основе этих значений генерирует обычное изображение 100 на 100 пикселей с заданным цветом.
Вот сам код:
<?php
$image=imagecreatetruecolor(100, 100);
if ($image && isset($_GET['red'])) {
    if ($_GET['red'] < 0 ) $_GET['red'] = 0;
    if ($_GET['red'] > 255) $_GET['red'] = 255;
    if ($_GET['green'] < 0 ) $_GET['green'] = 0;
    if ($_GET['green'] > 255) $_GET['green'] = 255;
    if ($_GET['blue'] < 0 ) $_GET['blue'] = 0;
    if ($_GET['blue'] > 255) $_GET['blue'] = 255;
    $color = imagecolorallocate($image, $_GET['red'], $_GET['green'], $_GET['blue']);
    imagefill($image, 0, 0, $color);
    header("Content-type: image/gif");
    imagegif($image);
    imagedestroy($image);
    }
   ?> 
А вот я передаю те самые значения RGB в теле страницы:
<?php
    echo '<img src="parser.php?red=127&green=0&blue=0">';
    	?>
Чего я не пойму так это...
Почему следующий код возвращает мне неверные значения RGB ?
<?php
   $image=imagecreatefromgif('parser.gif');
   if ($image) {
   	$colors = imagecolorat($image, 50, 50);
        $array = imagecolorsforindex($image, $colors);
       echo '<pre>';
       print_r($array);
       echo '</pre>';
       imagedestroy($image);
       }
?>
А именно, выдает мне что:
Red = 126, хотя я передал 127
Green = 4, хотя должно быть 0
И Blue = 4, хотя тоже должно быть НОЛЬ

2. Артур (17.04.2017 / 12:26)
На сколько я помню, набор доступных кодов цветов зависит от формата кодирования. Тобишь, в каком нить gif нельзя установить значение R = 127 (на пример).

URL: https://visavi.net/topics/43540