KnigaRead.com/

White cat - Справочник по PHP

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн white cat, "Справочник по PHP" бесплатно, без регистрации.
Перейти на страницу:

Стоит упомянуть, что GD начиная с версии 1.6 не поддерживает формат GIF. В связи с этим данная функция практически не используется.


imagePng


Функция выводит изображение в PNG-формате в любой браузер или в файл.

Синтаксис:

int imagePng(int im [, string filename])

Эта функция сохраняет изображение, заданное своим идентификатором и находящееся в памяти, на диск, или же выводят его в браузер.

Разумеется, вначале изображение должно быть загружено или создано при помощи функции imageCreate(), т.е. мы должны знать его идентификатор im.

Если аргумент filename опущен, то сжатые данные в соответствующем формате выводятся прямо в стандартный выходной поток, т.е. в браузер. Нужный заголовок Content-type при этом не выводится, ввиду чего нужно выводить его вручную при помощи Header().

Фактически, вы должны вызвать одну из трех команд, в зависимости от типа изображения:

Header("Content-type: image/png") для PNG.

Пример:Пример использования функции imagepng():

<?php

$im = imagecreatefrompng ("test.png");

Header("Content-type: image/png")

imagepng ($im);

?>


imageJpeg


Отсылка рисунка JPEG браузеру или сохранение его в файле.

Синтаксис:

int imageJPEG(int im [, string filename [, int quality]])

Эта функция сохраняет изображение, заданное своим идентификатором и находящееся в памяти, на диск, или же выводит его в браузер.

Разумеется, вначале изображение должно быть загружено или создано при помощи функции imageCreate(), т.е. мы должны знать его идентификатор im.

Если аргумент filename опущен, то сжатые данные в соответствующем формате выводятся прямо в стандартный выходной поток, т.е. в браузер. Нужный заголовок Content-type при этом не выводится, ввиду чего нужно выводить его вручную при помощи Header().

Фактически, вы должны вызвать одну из трех команд, в зависимости от типа изображения:

Header("Content-type: image/jpeg") для Jpeg

Третий необязательный параметр quality задает качество изображения (от 0 до 100).

<?php

$im=imageCreateFromJPEG("img/file.jpg");

Header("Content-type: image/jpeg");

imageJPEG($im,"",30);

?>


image2WBMP


Вывод изображения в браузер или файл.

Синтаксис:

int image2WBMP( resource image [, string filename [, int threshold]])

Функция выводит изображение, заданное дескриптором image, в браузер, либо в файл, имя которого задано необязательным параметром filename.

Если изображение выводится в браузер, необходимо задать его тип WBMP как image/vnd.wap.wbmp функцией Header():

<?php

$file = "php.png";

$image = imagecreatefrompng($file);


header("Content-type: " . image_type_to_mime_type(IMAGETYPE_WBMP));

image2wbmp($image); // Вывод wbmp-картинки в браузер

?>

Функция image2WBMP() доступна PHP только если версия библиотеки GD 1.8 или ниже.


imageGif


Отсылка рисунка GIF браузеру или сохранение его в файле.

Синтаксис:

int imageGIF(int im [, string filename])

Функция сохраняют изображение, заданное своим идентификатором и находящееся в памяти, на диск, или же выводят его в браузер.

Разумеется, вначале изображение должно быть загружено или создано при помощи функции imageCreate(), т.е. мы должны знать его идентификатор im.

Если аргумент filename опущен, то сжатые данные в соответствующем формате выводятся прямо в стандартный выходной поток, т.е. в браузер. Нужный заголовок Content-type при этом не выводится, ввиду чего нужно выводить его вручную при помощи Header().

Фактически, вы должны вызвать одну из трех команд, в зависимости от типа изображения:

Header("Content-type: image/gif")

Т.к. библиотека GD, начиная с версии 1.6, не поддерживает формат GIF, данная функция используется редко.


imageCopy


Копирование части рисунка.

Синтаксис:

int imageCopy(int dst_im, int src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h)

Функция копирует прямоугольную область начиная с позиции (src_x, src_y) шириной src_w и высотой src_h из рисунка src_im в рисунок dst_im, придав копируемой области смещение (dst_x, dst_y).

В следующем примере будет картинка file1.png целиком скопирована в file2.png

<?php

// Создаем первую картинку на основе готового изображения

$im1=imageCreateFromPNG("img/file1.png");

// Определяем ее размеры

$size_x=imageSX($im1);

$size_y=imageSY($im1);

// Создаем вторую пустую картинку

$im2=imageCreate($size_x,$size_y);

// Копируем рисунок целиком из первого изображения во второе

imageCopy($im2,$im1,0,0,0,0,$size_x,$size_y);

// Сохранение скопированной картинки в файле

imagePNG($im2, "img/file2.png");

?>


imageCopyResized


Копирование части рисунка с масштабированием.

Синтаксис:

int imageCopyResized(int dst_im, int src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)

Эта функция - одна из самых мощных и универсальных. С помощью нее можно копировать изображения (или их участки), перемещать или масштабировать их.

dst_im задает идентификатор изображения, в который будет помещен результат работы функции. Это изображение должно уже быть создано или загружено и иметь надлежащие размеры.

src_im - идентификатор изображения, над которым проводится работа. Впрочем, src_im и dst_imмогут и совпадать.

Параметры srcX, srcY, srcW, srcH задают область внутри исходного изображения, над которой будет осуществлена операция - соответственно, координаты ее верхнего левого угла, ширину и высоту.

Наконец, четверка dstX, dstY, dstW, dstH задает то место на изображении dst_im, в которое будет "втиснут" указанный в предыдущей четверке прямоугольник. Заметьте, что, если ширина или высота двух прямоугольников не совпадают, то картинка автоматически будет нужным образом растянута или сжата.

В следующем примере файл file1.jpg уменьшается вдвое и записывается в файл file2.jpg:

<?php

$old = imageCreateFromJpeg("img/file1.jpg");

$w = imageSX($old);

$h = imageSY($old);

$w_new=rounr($w/2);

$h_new=round($h/2);

$new = imageCreate($w_new, $h_new);

imageCopyResized($new, $old, 0, 0, 0, 0, $w_new, $h_new, $w, $h);

imageJpeg($new, "img/file2.jpg");

imageDestroy($old);

imageDestroy($new);

?>


imageDestroy


Уничтожение рисунка.

Синтаксис:

int imageDestroy(int im)

Функция уничтожает дескриптор im ранее созданного рисунка (наподобие закрытия файла fclose() после открытия fopen()).

Работа с цветом в формате RGB


imageColorAllocate


Создание нового цвета и занесение его в палитру рисунка.

Синтаксис:

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

Функция возвращает идентификатор цвета, связанного с соответствующей тройкой RGB. Первым параметром функция требует идентификатор изображения, загруженного в память или созданного до этого.

Параметры red, green и blue задают красный, зеленый и синий компоненты цвета соответственно. Значения этих параметров должны лежать в пределах от 0 до 255, или от 0x00 до 0xFF.

Практически каждый цвет, который планируется в дальнейшем использовать, должен быть получен (определен) при помощи вызова этой функции.

Пример:Пример использования функции imageColorAllocate():

<?php

. . .

// белый

$white = imagecolorallocate($im, 255, 255, 255);

$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

// черный

$black = imagecolorallocate($im, 0, 0, 0);

$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

. . .

?>


imageColorDeAllocate


Исключение цвета из палитры рисунка.

Синтаксис:

int imageColorDeAllocate(int im, int color)

Эта функция удаляет из палитры рисунка im цвет color, который был предварительно занесен в рисунок функцией imageColorAllocate().

Пример:Пример использования функции imageColorDeAllocate():

<?php

. . .

$white = imageColorAllocate ($im, 255, 255, 255);

imageColorDeAllocate ($im, $white);

. . .

?>


imageColorSet


Замена цвета определенного элемента палитры.

Синтаксис:

bool imageColorSet(int im, int index, int red, int green, int blue)

Данная функция устанавливает для элемента палитры index рисунка im значения компонент цвета: red (красный), green (зеленый), blue (синий). При этом все части рисунка, закрашенные данным цветом, также изменят свой оттенок.


imageColorClosest


Получение цвета палитры, наиболее близкого к указанному.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*