Скрипт по изменению размеров изображений

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

Скрипт по изменению размеров изображений

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

					$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);
				

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

Компьютер и Windows