Приднестровская поддержка XOOPS
Добавить новый цвет в палитру позволяет функция imagecolorallocate():
imagecolorallocate(<Идентификатор>, <Доля красного>, <Доля зеленого>, <Доля синего>);
Например:
$white = imagecolorallocate($img, 255, 255, 255);
Функция imagecolordeallocate() уничтожает объект цвета, созданный функцией imagecolorallocate().
imagecolordeallocate(<Идентификатор>, <Цвет>);
С помощью функции imagecolortransparent() можно сделать определенный цвет палитры прозрачным:
imagecolortransparent(<Идентификатор>, <Цвет>)
Например:
$white = imagecolorallocate($img, 255, 255, 255);
imagecolortransparent($img, $white);
Функция imagecolorclosest() возвращает ближайший к указанному цвет из имеющихся в палитре:
imagecolorclosest(<Идентификатор>, <Доля красного>, <Доля зеленого>, <Доля синего>);
Например:
$white = imagecolorclosest($img, 255, 255, 255);
Функция imagecolorat() возвращает цвет указанной точки изображения:
imagecolorat(<Идентификатор>, <X>, <Y>);
Координаты точки отсчитываются от верхнего левого угла.
Функция imagecolorsforindex() возвращает ассоциативный массив значений RGB-составляющих для указанного идентификатора цвета:
imagecolorsforindex(<Идентификатор изображения>, <Цвет>);
В качестве примера выведем числовые значения для цвета указанной точки изображения:
$img = imagecreatefromgif('banner.gif');
$color = imagecolorat($img, 20, 20);
$rgb = imagecolorsforindex($img, $color);
echo '<pre>';
print_r($rgb);
echo '</pre>';
imagedestroy($img);
Выведет примерно:
Array
(
[red] => 255
[green] => 255
[blue] => 255
[alpha] => 0
)
Функция imagefill() позволяет закрасить область одного цвета другим цветом. Достаточно указать координаты точки и новый цвет:
imagefill(<Идентификатор>, <X>, <Y>, <Цвет>);
Функция imagefilltoborder() позволяет закрасить область, ограниченную точками какого-то цвета, другим цветом. Достаточно указать координаты точки, цвет границы и цвет закраски:
imagefilltoborder(<Идентификатор>, <X>, <Y>, <Цвет границы>, <Цвет>);
Функция imagecolorstotal() возвращает количество цветов в палитре изображения:
imagecolorstotal(<Идентификатор>);
Например:
$var = imagecolorstotal($img);
Для примера напишем скрипт image.php (листинг 65), в котором создается новое изображение 88×31 красного цвета и выводится в Web-браузер.
Листинг 65. Файл image.php для вывода динамически созданного изображения
<?php
header("Content-type: image/png");
$img = @imagecreate(88, 31);
$background_color = imagecolorallocate($img, 255, 0, 0);
imagefill($img, 0, 0, $background_color);
imagepng($img);
imagedestroy($img);
?>
Отправитель | Нити |
---|
4 пользователь(ей) активно (4 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 4 далее... |