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.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Обработка изображений и графики. Часть Седьмая.
28-02-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Обработка изображений и графики. Часть Шестая. | PHP. Обработка изображений и графики. Часть Восьмая. |