Преобразование изображений в оттенки серого с использованием вмешательства

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

Файл не существует

Не знаю, почему он дает эту ошибку, вот мой код.

$file = public_path() . "/large/s/" . $sheet[0]->sheet_f_id . '-s.jpg';
$image = Image::make($file);
$grayScale = $image->greyscale();
return Response::download($grayScale);

Когда я бросаю свой $file Переменная я получил ответ примерно так.

«D: \ XAMPP \ HTDOCS \ wikistaging \ PUBLIC / большие / с / 03-02-05-025-S.jpg»

Но все же это дает мне ошибку Сэма, почему это происходит. Любая помощь будет отличной.

1

Решение

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

$img_name=$sheet[0]->sheet_f_id . '-s.jpg';
$destination_path=public_path() . "/large/s/";

$file = $destination_path.$img_name;
$image = Image::make($file);

$image->greyscale()->save($destination_path.'gray-'.$img_name);
return Response::download($destination_path.'gray_'.$img_name);

И если вы не хотите сохранять файл, который можете удалить, замените последнюю строку на строку ниже.

return Response::download($destination_path.'gray_'.$img_name)->deleteFileAfterSend(true);

Надеюсь, это сработает для вас.

1

Другие решения

Вы должны сохранить свое изображение после звонка полутоновое ().
Можешь попробовать:

$filePath = public_path() . "/large/s/" . $sheet[0]->sheet_f_id . '-s-test.jpg';
$image->greyscale();
$image->save($filePath);
0

По вопросам рекламы [email protected]