52680.fb2 Справочник по PHP - читать онлайн бесплатно полную версию книги . Страница 138

Справочник по PHP - читать онлайн бесплатно полную версию книги . Страница 138

?>

imageColorsTotal

Получение количества цветов в палитре.

Синтаксис:

int imageColorsTotal(int im)

Функция возвращает число цветов в палитре указанного изображения.

imageColorExact

Получение индекса цвета палитры.

Синтаксис:

int imageColorExact(int im, int red, int green, int blue)

Функция возвращает индекс указанного цвета (red, green, blue) в палитре изображения im.

Функция возвратит -1, если указанного цвета нет в палитре изображения.

imageColorResolve

Нахождение или создание указанного цвета.

Синтаксис:

int imageColorResolve(int im, int red, int green, int blue)

Функция возвращает индекс указанного цвета (red, green, blue) в палитре изображения im.

В случае, если такой цвет в палитре отсутствует, то он создается.

imageGammaCorrect

Применение гамма-коррекции рисунка.

Синтаксис:

int imageGammaCorrect(int im, double inputgamma, double outputgamma)

Эта функция производит исправления гаммы к изображению, заданному дескриптором im.Параметр inputgamma задает входную гамму, а outputgamma - гамму вывода.

Графические примитивы

imageSetPixel

Рисует пиксель.

Синтаксис:

int imageSetPixel(int im, int x, int y, int color)

Выводит один пиксель цвета color в изображении im, расположенный в точке (x, y).

imageLine

Рисует сплошную тонкую линию.

Синтаксис:

int imageLine(int im, int x1, int y1, int x2, int y2, int color)

Эта функция рисует сплошную тонкую линию в изображении im, проходящую через точки (x1, y1) и (x2, y2), цветом color. Линия получается слабо связанной.

<?php

function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)

{

/* this way it works well only for orthogonal lines

imagesetthickness($image, $thick);

return imageline($image, $x1, $y1, $x2, $y2, $color);

*/

if ($thick == 1) {

return imageline($image, $x1, $y1, $x2, $y2, $color);

}

$t = $thick / 2 - 0.5;

if ($x1 == $x2 || $y1 == $y2) {

return imagefilledrectangle($image,

round(min($x1, $x2) - $t),

round(min($y1, $y2) - $t),

round(max($x1, $x2) + $t),

round(max($y1, $y2) + $t), $color);