Я пытаюсь обрезать и загрузить изображение, я попробовал следующий код для обрезки изображения.
$img_r = imagecreatefromjpeg('/home/user/site.com/wp-content/themes/my-theme/uploads/test.jpeg');
$new_canvas = imagecreatetruecolor(350, 350);
imagecopyresampled($new_canvas, $img_r, 0, 0, 85, 13, 350, 350, 500, 500 );
imagejpeg($new_canvas, $src);
imagedestroy($new_canvas);
Я загрузил изображение размером 500 * 500 и хочу обрезать его размером 350 * 350. Размер изображения вверху по оси X и координата Y слева, откуда нужно начинать кадрирование изображения: 85px и 13px.
Проблема в том, что при сохранении на сервере я перезаписываю одно и то же изображение на сервере и проверяю, обрезано ли изображение, но не в этой конкретной области.
Это делает изображение маленьким и добавляет слева и справа черное пространство на изображении.
Пожалуйста, дайте мне знать, что я делаю неправильно.
Заранее спасибо.
Нашел ответ после слишком большой работы над ним, все просто.
просто измените:
$img_r = imagecreatefromjpeg('/home/user/site.com/wp-content/themes/my-theme/uploads/test.jpeg');
TO:
$img_r = imagecreatefromjpeg('site.com/wp-content/themes/my-theme/uploads/test.jpeg');
Я использую путь к каталогу и должен быть путь URI.
Других решений пока нет …