rachel / nova-image-cropper
Laravel Nova 字段。
dev-main
2021-01-31 10:38 UTC
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2024-09-29 05:56:18 UTC
README
此字段扩展了图片字段,增加了便捷的裁剪功能来处理图片。可以像在 Nova 中的文件字段一样配置。
演示
安装
在您的 nova 项目中运行以下命令: composer require rachel/nova-image-cropper
添加到您的 Nova 资源
use Rachel\NovaImageCropper\ImageCropper; ImageCropper::make('Photo'),
更新表单
为了编辑模型中已保存的现有图片,ImageCroper 使用预览方法返回一个 base64 编码的图片。您可以使用默认实现,也可以覆盖它,只要返回一个 base64 图片即可。
use Rachel\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"