如何使用 Laravel Varbox 裁剪不同的图像?
How can I crop different images using Laravel Varbox?
我在我的一个 Laravel 项目中使用 Varbox。
我有一个名为 Post 的自定义实体。
每个 post 可以有一个 main_image 和一个 cover_image.
如何使用 Varbox 媒体库为这两种图像类型定义不同的样式?
我看到有一个 config/varbox/upload.php
用于定义图像样式,但我想知道是否可以定义单独的样式
确实有一个名为 config/varbox/upload.php
的配置文件,但它作为您整个上传功能的通用配置。
要实现您想要的效果,您必须自定义配置,特别是通过实施 Varbox\Traits\HasUploads
特征上的 getUploadConfig
方法来针对您的 Post
模型。
文档部分供参考:https://varbox.io/docs/1.x/file-uploads#specific-model-configurations
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Varbox\Traits\HasUploads;
class Post extends Model
{
use HasUploads;
/**
* Get the specific upload config parts for this model.
*
* @return array
*/
public function getUploadConfig()
{
return [
'images' => [
'styles' => [
'main_image' => [
'square' => [
'width' => '100',
'height' => '100',
'ratio' => true,
]
],
'cover_image' => [
'landscape' => [
'width' => '800',
'height' => '100',
'ratio' => true,
]
],
],
],
];
}
}
此外,您可能希望在显示图像时考虑不同的设备分辨率,从而为您的 main_image
和 cover_image
创建多种样式并相应地显示它们。
我在我的一个 Laravel 项目中使用 Varbox。
我有一个名为 Post 的自定义实体。 每个 post 可以有一个 main_image 和一个 cover_image.
如何使用 Varbox 媒体库为这两种图像类型定义不同的样式?
我看到有一个 config/varbox/upload.php
用于定义图像样式,但我想知道是否可以定义单独的样式
确实有一个名为 config/varbox/upload.php
的配置文件,但它作为您整个上传功能的通用配置。
要实现您想要的效果,您必须自定义配置,特别是通过实施 Varbox\Traits\HasUploads
特征上的 getUploadConfig
方法来针对您的 Post
模型。
文档部分供参考:https://varbox.io/docs/1.x/file-uploads#specific-model-configurations
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Varbox\Traits\HasUploads;
class Post extends Model
{
use HasUploads;
/**
* Get the specific upload config parts for this model.
*
* @return array
*/
public function getUploadConfig()
{
return [
'images' => [
'styles' => [
'main_image' => [
'square' => [
'width' => '100',
'height' => '100',
'ratio' => true,
]
],
'cover_image' => [
'landscape' => [
'width' => '800',
'height' => '100',
'ratio' => true,
]
],
],
],
];
}
}
此外,您可能希望在显示图像时考虑不同的设备分辨率,从而为您的 main_image
和 cover_image
创建多种样式并相应地显示它们。