遵循 Spatie 媒体库中的文档后出现错误。文档说在内部, spatie/image 用于操作图像。您可以使用该包中的任何操作功能...... 所以我尝试使用该方法focalCrop()
,但它返回错误。
这是我目前正在做的事情:
模型
public function registerMediaCollections(): void
{
$this->addMediaCollection('cover')->singleFile()->useDisk('s3');
}
public function registerMediaConversions(BaseMedia $media = null): void
{
$this->addMediaConversion('large')
->fit(Manipulations::FIT_MAX, 2048, 1400)
->withResponsiveImages()
->performOnCollections('cover');
$this->addMediaConversion('thumbnail')
->fit(Manipulations::FIT_CROP, 200, 200)
->performOnCollections('cover');
$this->addMediaConversion('cover_image')
->fit(Manipulations::FIT_CONTAIN, 1151, 288)
->performOnCollections('cover');
}
控制器
$cropped_value = $request->cropped_value_cover;
$cp_v = explode(",", $cropped_value);
$user = User::where('id', auth('api')->user()->id)->firstOrFail();
$media = $user
->addMediaFromRequest('image_input_cover')
->usingName($image_name)
->usingFileName($image_name)
->toMediaCollection('cover')
->focalCrop($cp_v[0], $cp_v[1], $cp_v[2], $cp_v[3]);
错误
message: "Call to undefined method App\Models\Media::focalCrop()