Morozov&Pimnev blog

Полезные решения, шпаргалки и примеры по html, css, js, jQuery, MySQL, PHP, HostCMS, ssh.

Метка - GD.

Вырезаем и сохраняем часть изображения с помощью библиотеки GD и функции imagecopy

<?php
	$src = '/home/www/image.jpg'; // путь с исходному изображению
	$src_w = 200; // ширина вырезамемой части исходного изображения
	$src_h = 200; // выста вырезамемой части исходного изображения

	// если нам нужно вырезать часть изображения то всегда координаты для результирующего изображения x:0 и y:0
	$dst_x = 0; // x-координата результирующего изображения
	$dst_y = 0; // y-координата результирующего изображения

	$new_src = '/home/www/new_image.jpg';  // путь к результирующему изображению

	// Создание изображения
	$src_im = imagecreatefromjpeg($src);

	if ($src_im)
	{
		// Создание результирующего изображения с заданной шириной и высотой черного цвета, в нашем случае равно ширине и высоте вырезаемой части
		$dst_im = imagecreatetruecolor($src_w, $src_h);

		// кординаты части исходного изображения откуда вырезаем, например по середине, все координаты считаются с верхнего левого угла
		$src_x = 300; // ширина исходного изображения 800, делим пополам и вычитаем ширину результирующего изображения 200 делимое тоже пополам (800/2 - 200/2 = 300)
		$src_y = 100; // высота исходного изображения 400, делим пополам и вычитаем высоту результирующего изображения 200 делимое тоже пополам (400/2 - 200/2 = 100)

		// Копирование части изображения
		imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);

		// Создаем изображении и сохраняем по указанному пути с качеством 100 (диапазон качества может быть от 0 до 100)
		imagejpeg($dst_im, $new_src, 100);

		// На всякий случай изменяем режим доступа к файлу
		chmod($new_src, 0644);

		// освобождаем память
		imagedestroy($dst_im);
	}

?>

...

Читать дальше →

php, GD