用户上传了带有黑色墨水笔迹的图像文件。我想删除背景并将笔迹保留为新的 .png 图像。使用 Intervention Image 有一个名为的功能trim()
,听起来它应该做到这一点,但没有给出预期的结果。
代码:
$file = $request->file('employee_signature');
$name = $employee->givenname.'_'.$employee->surname.'_Signature.png';
$new_image = Intervention::make($file)->trim()->save('images/signatures/'.$name);
return $new_image;
$new_image
应该返回一个名为“First_Last_Signature.png”的图像,并且只有黑色的笔迹。使用我当前的代码,它不会修剪白色背景。我可以确认它正在处理中,因为当我上传 .jpg 时,它会在指定目录中另存为 .png。
GitHub上有一个建议说fill()
应该可以,但我无法做到。
SOF 上有一个解决方案,它完全符合我的要求,但不使用干预图像库:LINK
我目前正在使用 Imagemagick,但是 GD 库也可用,尽管 Intervention Image 文档确实说 GD 将使用大量资源。