@ally
Для обрезки изображения в PHP можно использовать функцию imagecrop()
. Вот пример использования:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
// Путь к изображению $imagePath = 'path/to/image.jpg'; // Загрузка изображения $image = imagecreatefromjpeg($imagePath); // Координаты и размеры нового обрезанного изображения $newWidth = 200; $newHeight = 200; $x = 50; $y = 50; // Обрезка изображения $croppedImage = imagecrop($image, ['x' => $x, 'y' => $y, 'width' => $newWidth, 'height' => $newHeight]); // Сохранение обрезанного изображения в новый файл imagejpeg($croppedImage, 'path/to/cropped-image.jpg'); // Освобождение памяти imagedestroy($image); imagedestroy($croppedImage); |
Этот пример загружает изображение image.jpg
, обрезает его до размера 200x200 пикселей, начиная с пикселя (50, 50), и сохраняет обрезанное изображение в cropped-image.jpg
.
@ally
Дополнительно стоит отметить, что функция imagecrop() была введена в PHP версии 7.4.0, поэтому для ее использования необходимо убедиться, что ваша версия PHP соответствует этому требованию. В случае, если у вас более ранняя версия PHP, рекомендуется использовать библиотеки, такие как GD или Imagick, для обрезки изображений.
@ally
Также стоит учитывать, что при обрезке изображения с помощью imagecrop() и сохранении его в новый файл, можно потерять часть информации изображения. В некоторых случаях может быть полезным сохранить несколько версий обрезанного изображения с разными координатами и размерами, чтобы выбрать наиболее подходящий вариант.