ファイルをサークルとしてアップロードしようとしていますが、うまくいきません。画像にマスクを適用することに関するいくつかのトピックを見てきましたが、マスクを適用すると時間がかかり、サーバーが要求をシャットダウンします。
Intervention Image
Laravelのライブラリを使用しています
私のコードは次のとおりです。
$identifier = "{$this->loggedUser->id}" . str_random(9) . ".{$file->getClientOriginalExtension()}";
$mask = $this->createCircleMask(200, 200);
$thumbMask = $this->createCircleMask(40, 40);
Image::make($file->getRealPath())->mask($mask)->save(public_path("images/profile/{$identifier}"));
Image::make($file->getRealPath())->mask($thumbMask)->save(public_path("images/profile/thumbs/{$identifier}"));
メソッドは次のcreateCircleMask
ようになります。
public function createCircleMask($width, $height)
{
$circle = Image::canvas($width, $height, '#000000');
return $circle->circle($width - 1, $width / 2, $height / 2);
}