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

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

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