jarda256sparktech/nova-image-cropper

Laravel Nova 字段。

2.2 2019-08-16 21:21 UTC

README

此字段扩展了图像字段,添加了方便的裁剪工具来操作图像。可以像Nova中的文件字段一样进行配置在Nova中

演示

Demo

安装

在您的nova项目中运行此命令:composer require r64/nova-image-cropper

添加到您的Nova资源

use R64\NovaImageCropper\ImageCropper;

ImageCropper::make('Photo'),

更新表单

为了编辑模型中保存的现有图像,ImageCroper使用预览方法返回一个base64编码的图像。您可以使用默认实现或覆盖它,只要返回一个base64图像即可。

use R64\NovaImageCropper\ImageCropper;

ImageCropper::make('Photo')
        ->preview(function () {
            if (!$this->value) return null;

            $url = Storage::disk($this->disk)->url($this->value);
            $filetype = pathinfo($url)['extension'];
            return 'data:image/' . $filetype . ';base64,' . base64_encode(file_get_contents($url));
        });

选项

头像模式

您可以为预览和裁剪工具添加圆形蒙版

ImageCropper::make('Photo')->avatar()

自定义宽高比

定义裁剪框的固定宽高比。默认情况下,裁剪框是自由比例。

  • 类型:数字
  • 默认:NaN
ImageCropper::make('Photo')->aspectRatio(16/9)

本地化

/resources/lang/vendor/nova 中相应地设置您的翻译在xx.json文件中

...

  "Edit Image": "Editar Imagen",
  "Cancel Crop": "Cancelar Recorte",
  "Change Image": "Cambiar Imagen",
  "Done": "Hecho",
  "Click here or drop the file to upload": "Click aquí o arrastra el archivo para comenzar la subida"