如何使用Laravel Varbox裁剪不同的图像?

问题描述

我正在Laravel项目之一中使用VarBox

我有一个名为Post的自定义实体。 每个帖子可以有一个main_image和一个cover_image。

如何使用VarBox媒体库为这两种图像类型定义不同的样式?

我看到有一个config/varBox/upload.PHP用于定义图像的样式,但是我想知道是否可以定义单个样式

解决方法

实际上有一个名为config/varbox/upload.php的配置文件,但它是整个上传功能的通用配置。

要实现所需的功能,您将必须通过实现Post特征上的getUploadConfig方法来定制配置,特别是针对Varbox\Traits\HasUploads模型的配置。

以下是文档部分供参考: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',],];
    }
}

此外,您可能需要在显示图像时考虑不同的设备分辨率,从而为main_imagecover_image创建多种样式并相应地显示它们。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...