使用干预将图像转换为灰度
Converting images to greyscale using intervention
我正在尝试将我的图像转换为灰度,然后在 Laravel 中下载它,但每次我都会收到此错误
The file "" does not exist
不知道为什么会出现此错误,这是我的代码。
$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/large/s/03-02-05-025-s.jpg"
但它仍然给我相同的错误,为什么会这样。任何帮助都会很棒。
如果你想下载那么首先你必须保存创建的文件并需要提供下载路径。这是工作示例
$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);
希望对你有用。
您必须在调用 greyscale() 后保存图像。
你可以试试:
$filePath = public_path() . "/large/s/" . $sheet[0]->sheet_f_id . '-s-test.jpg';
$image->greyscale();
$image->save($filePath);
我正在尝试将我的图像转换为灰度,然后在 Laravel 中下载它,但每次我都会收到此错误
The file "" does not exist
不知道为什么会出现此错误,这是我的代码。
$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/large/s/03-02-05-025-s.jpg"
但它仍然给我相同的错误,为什么会这样。任何帮助都会很棒。
如果你想下载那么首先你必须保存创建的文件并需要提供下载路径。这是工作示例
$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);
希望对你有用。
您必须在调用 greyscale() 后保存图像。 你可以试试:
$filePath = public_path() . "/large/s/" . $sheet[0]->sheet_f_id . '-s-test.jpg';
$image->greyscale();
$image->save($filePath);