boolean imagecopyresampled(resource destination, resource source, integer destination_x, integer destination_y, integer source_x, integer source_y, integer destination_width, integer
destination_height, integer source_width, integer source_height)
Функция imagecopyresampled (листинг 16.14) копирует часть изображения в другое изображение, предоставляя возможность масштабировать ее и изменять ее четкость. Сравните результат работы этой функции с результатом работы функции imagecopyresized.

Листинг 16.14. Функция imagecopyresample

<?php
function makeThumbnail($source, $destination, $width, $height) {
//загрузить исходное изображение
if(!($sourceImage = @imagecreatefromjpeg($source)))
{
//возникла ошибка, поэтому выход с предварительным // созданием ошибочного изображения $image = imagecreate($width, $height); $colorWhite = imagecolorallocate($image,
255, 255, 255);
$colorBlack = imagecolorallocate($image, 0, 0, 0); imagefill($image, 0, 0, $colorWhite);
imagestring($image, 1, 1, 10, "Failed!", $colorBlack);
imagepng($image, $destination);
return(FALSE);
}
//создать результирующее изображение
$destinationImage = imagecreatetruecolor($width, $height); //скопировать исходное изображение в результирующее, //повторная выборка с возможностью искажения imagecopyresampled($destinationImage, $sourceImage,
0, 0, 0, 0, $width, $height, imagesx($sourceImage), imagesy($sourceImage)); //сохранить изображение
imagepng($destinationImage, $destination);
}
makeThumbnailCwaterfall.jpg", "waterfall_thumb.jpg", 64, 64);
?>
<h1>Original</h1>
<img src="waterfall.jpg" border="0"> <h1>Thumbnail</h1>
<img src="waterfall_thumb.jpg" border="0">

resource imagecopyresized(integer destination, integer source, integer destination_x, integer destination_y, integer source_x, integer source_y, integer destination_width, integer
destination_height, integer source_width, integer source_height)
Функция imagecopyresized (листинг 16.15) копирует часть исходного изображения в результирующее изображение (рис. 16.7). Если ширина и высота полученного изображения отличаются от параметров исходного изображения, результирующее изображение будет растянуто или сжато. Копирование в то же изображение допустимо, но при перекрытии результирующего и исходного изображений возможны непредсказуемые результаты. 

Листинг 16.15. Функция imagecopyresized

<?php
// создать желтый квадрат
$image = imagecreatetruecolor(200,200);
$colorYellow = imagecolorallocate($image, 255, 255, 128); imagefill($image, 0, 0, $colorYellow);
// попытка открыть изображение с подавлением сообщений об ошибках if(!($image2 = @imagecreatefrompng("leonatkinson.png")))
{
//возникла ошибка, поэтому выход с предварительным //созданием ошибочного изображения $image = imagecreate(200,200);
$colorWhite = imagecolorallocate($image, 255, 255, 255); $colorBlack = imagecolorallocate($image, 0, 0, 0); imagefill($image, 0, 0, $colorWhite);
imagestring($image, 4, 10, 10, "Couldn't load image!",
$colorBlack); header("Content-type: image/png"); imagepng($image); exit();
}
//поместить image2 в image и растянуть или сжать его imagecopyresized($image, $image2, 10, 10, 0, 0,
180, 180, imagesx($image2), imagesy($image2)); // отправить полученное изображение header("Content-type: image/png"); imagepng($image);
?>
Обработка изображений и графики
resource imagecreate(integer width, integer height)
Функция imagecreate возвращает идентификатор изображения по заданным аргументам width и height. Это изображение отображается в режиме палитры.
resource imagecreatefromgd(string file)
Эта функция предназначена для создания ресурса изображения из файла изображения GD.
resource imagecreatefromgd2(string file)
Эта функция предназначена для создания ресурса изображения из файла изображения GD, сохраненного в формате GD2.
resource imagecreatefromgd2part(string file, integer x, integer y, integer width, integer height)
Функция imagecreatefromgd2part создает ресурс изображения из прямоугольного фрагмента файла изображения, сохраненного в формате GD2.
resource imagecreatefromgif(string file)
Функция imagecreatefromgif возвращает ресурс изображения из файла изображения в формате GIF.
resource imagecreatefromjpeg(string file)
Функция imagecreatefromjpeg предназначена для загрузки изображения в формате JPEG.
resource imagecreatefrompng(string file)
Функция imagecreatefrompng предназначена для загрузки изображения в формате PNG.