С добрым утром !
Вот я например, создаю изображение с конкретным одним заданным цветом на все 100 и 100 пикселей:
[cit][code]<?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);
}
?>[/code][/cit]
И далее вывожу это изображение с расширением .gif
[cit][code]<?php
echo '<img src="alter.php?red=0&green=127&blue=0">';
?>[/code][/cit]
Обратите внимание, что я задаю green значение ровно 127, а не 126 или 128. Запомните этот момент. Дальше я копирую это изображение с помощью меню браузера в эту же папку с данным php файлом. И добавляю еще один кусочек php-кода задача которого вывести значение цвета в заданных мной координатах:
[cit][code]<?php
$imageg=imagecreatefromgif('alter.gif');
if ($imageg) {
$colorsx = imagecolorat($imageg, 50, 50);
$arra = imagecolorsforindex($imageg, $colorsx);
echo '<pre>';
print_r($arra);
echo '</pre>';
imagedestroy($imageg);
}
?>[/code][/cit]
Так вот в качестве результата этого кода я вижу на страничке:
[cit][code]Array
(
[red] => 4
[green] => 126
[blue] => 4
[alpha] => 0
)[/code][/cit]
А теперь внимание вопрос ! Как вы уже помните я задавал значение цвета green не 126, а 127. Так почему же мне тут выдает 126 у green, а у red и blue по четыре, тогда как им я задавал значение ноль ?
На сколько я понял параметр alpha это прозрачность. Попробуй ему параметр => 1 задать.