PHP скрипт генерации изображений

Этот урок по изменению размера изображений. Вместо уменьшения размеров, скрипт вырезает часть изображения. Этот скрипт можно использовать для различных сайтов для создания разных размеров в необходимых для этого случаях.

Вначале задаем три переменные:

					$image =  $HTTP_GET_VARS['image'];
					$newWidth =  $HTTP_GET_VARS['width'];
					$newHeight  = $HTTP_GET_VARS['height'];
				

Далее мы должны узнать полную ширину и высоту изображения, которое используем и добавляем его в переменные $width и $height:

					$size =  getimagesize($image);
					$width =  $size[0];
					$height =  $size[1];
				

Следующим шагом мы берем текущую ширину изображения и уменьшаем ее до заданной. Ширина не будет обрезаться слишком близко к краю.

$width  = $width-$newWidth;

То же самое сделали по высоте

$height =  $height-$newHeight;

Теперь мы создаем Х и У координаты. Есть несколько способов для достижения цели, но я решил просто уменьшить на половину ширину и высоту.

					$x =  $width/2;
					$y =  $height/2;
				

Следующая часть кода делает копию изображения, сохраняя ее в переменную $src.

$src =  imagecreatefromjpeg($image);

Затем создаеться пустой образ с нужной шириной и высотой.

$tmb =  imagecreatetruecolor($newWidth,$newHeight);

Теперь мы можем создать наш фактический эскиз. Эта строка кода, копия старого образа, которая запускается с генерируемых Х и У к координат. Это позволяет кадрировать изображение в указанном месте.

imagecopy($tmb, $src, 0, 0, $x, $y, $newWidth,  $newHeight);

Теперь мы можем увидеть изображение:

					header('content-type:  image/jpeg');
					imagejpeg($tmb,  null, 100);
				

И наконец, уничтожить ненужное изображений из памяти

					imagedestroy($src);
					imagedestroy($tmb);
					imagedestroy($thumb);
				

Вот и все. Как я уже сказал в начале, этот сценарий может быть использован во многих ситуациях и в разных размерах.

Просмотров: 1162      Опубликовал: Евгений Фединчик      Дата: 05.03.2010 11:36:43
  • Понравился урок? Добавьте его к себе в закладки.

    Последние уроки категории:

    Сокращение PHP кода

    Вы задумывались когда — нибудь о том, что лишний и бесполезный код убивает ваше время разработки приложения/сайта. Хотя это и кажется мелочью, но когда такой мелочи становится много, то время, потраченное впустую, становится ценным. И так давайте посмотрим, что можно и нужно сокращать...

    Видимость переменных в PHP

    В данном уроке рассматривается область видимости переменных PHP. Объясняется различие локальной и глобальной области видимости, показывается как получить доступ к глобальным переменным внутри функции, как работать с суперглобалами и создавать статические переменные.

    Как читать Rss ленты?

    Читалки и агрегаторы RSS используются для доступа, чтения и управления периодически-обновляемыми лентами RSS (или Atom), которые генерируются веб-сайтами. Эти ленты предоставляют доступ к последним материалам с этих сайтов.

    Установка и настройка PHP+Apache

    В этом уроке хотелось бы поднять очень интересную тему – Установка и настройка веб сервера PHP5 + Apache. В интернете довольно много различных инструкций по данной теме, но только вот в основном это копипаст, а не инструкция для человека, я же постараюсь объяснить все намного проще – на пальцах. Причина для установки локального вебсервера довольно много, например скорость выполнения и отладки скриптов, простота загрузки и модернизации контента и еще много чего.

    Как выбрать фреймворк

    Так уж повелось, что лень – это двигатель прогресса и как бы странно это не звучало, все те блага цивилизации, которые мы имеем сейчас были сделаны в первую очередь для нашего комфорта. Так и программисты чтобы облегчить себе жизнь и тем самым получить возможность создавать более сложные проекты за менее долгое время придумали сделать себе фреймворки.

    Комментарии:

    • Осталось: 1000 символов.
      Сохранить комментарий Отправка комментария
    lessons
    downloads
    search
    hosting

    Ищите хороший и не дорогой хостинг?

    Хостинг avahost.ua
    VPS VDS - виртуальный выделенный сервер
    sistems
    RBK Money

    Обменник.ws
    Статистика HitUa