Изменение размера изображения

В этом уроке мы с вами научимся изменять размер изображений. Вначале давайте определим какая будет максимальная ширина и высота. Ширина и высота должна соответствовать ширине и высоте Вашего сайта. Допустим, что Ваш сайт 700px в ширину, для того, чтобы сайт смотрелся нормально и никуда не ехал, максимальная ширина картинки будет – 500px.

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

$img_src = 'mypic.gif'; 

Для задания максимальных размеров, я рекомендую использовать константы.

					DEFINE (  'max_width', 500); 
					DEFINE (  'max_height', 400);
				

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

					$dims = getimagesize  ($ img_src); 
					$old_width  = $dims[0];
					$old_height  = $dims[1];
				

Теперь мы должны проверить изменились ли наши размеры изображения. Если этого не произойдет, то мы просто выводим исходное изображение. (Для вывода изображения Вы можете использовать любой оператор.)

				if  ($old_width <= MAX_WIDTH && $old_height <= MAX_HEIGHT) {
					return  '<img src="' . $img_src . '" width="' . $old_width . '"  height="' . $old_height . '">';
			    }
				

Теперь нам нужно определить разницу в ширине и высоте по сравнению с исходными. Эти данные пригодятся нам для расчетов.

					$width_dif  = $old_width - MAX_WIDTH;
					$height_dif  = $old_height - MAX_HEIGHT;
				

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

				if  ($height_dif > $width_dif) {
					$max_dif = 'height'; 
				}
				else {
					$max_dif = 'width'; 
				}
				

Хорошо, теперь у нас есть все данные для создания кодового блока.

				if  ($max_dif == 'width') {
					$new_width  = MAX_WIDTH;
					$percentage  = $new_width/$old_width;
					$new_height  = $old_height*$percentage;
				} 
				elseif  ($max_dif == 'height') {
					$new_height  = MAX_HEIGHT;
					$percentage  = $new_height/$old_height;
					$new_width  = $old_width*$percentage;
				}
				

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

Теперь давайте вставим наше изображение в наш HTML код:

				return  '<img src="' . $img_src . '" width="' . $new_width . '"  height="' . $new_height . '">' . '<br />';
				

На этом, пожалуй, и все.

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Вадим 16.11.2010 10:22:11
      Спасибо большое. Даже вспоминать страшно сколько хлама пришлось прочитать прежде чем нашёл эту статью.
      Ответить
    • Лёва 30.07.2011 09:50:44
      Вообще было бы неплохо оставлять ссылку на архив с готовым скриптом
      Ответить
    • Осталось: 1000 символов.
      Сохранить комментарий Отправка комментария
    lessons
    downloads
    search
    hosting

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

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

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