Полезные решения, шпаргалки и примеры по html, css, js, jQuery, MySQL, PHP, HostCMS, ssh.
<?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);
}
?>
В итоге мы получаем следующее: