josefbehr/filament-spatie-media-library-croppie

使用 spatie media library 和 croppie.js 的图像上传的 filament 表单字段

1.0.4 2023-05-03 10:57 UTC

This package is auto-updated.

Last update: 2024-09-16 16:59:20 UTC


README

Latest Version on Packagist Total Downloads

安装

您可以通过 composer 安装此包(不需要单独安装 croppie,因为其资源已包含在内)

composer require josefbehr/filament-spatie-media-library-croppie

要在外部使用 filament(例如,仅与表单包一起使用),请将 js 和 css 添加到您的 vite(或 mix)配置中

@vite([
    'vendor/josefbehr/filament-spatie-media-library-croppie/resources/dist/js/filament-spatie-media-library-croppie.js',
    'vendor/josefbehr/filament-spatie-media-library-croppie/resources/dist/css/filament-spatie-media-library-croppie.css',
    ...
])

此字段扩展了,因此具有 Filament Spatie Media Library 插件 字段的全部功能。

SpatieMediaLibraryCroppie::make('image')
    ->boundaryWidth('100%')
    ->boundaryHeight('600'),

使用 boundaryWidthboundaryHeight 设置模态中图像区域的宽度和高度。上面的值是默认值。

SpatieMediaLibraryCroppie::make('image')
    ->viewportWidth('400')
    ->viewportHeight('400'),

使用 viewportWidthviewportHeight 设置裁剪器的宽度和高度。上面的值是默认值。

SpatieMediaLibraryCroppie::make('image')
    ->showZoomer(),

showZoomer 可以调用以在模态中显示图像下方的缩放条。

SpatieMediaLibraryCroppie::make('avatar')
    ->avatar(),

我们可以使用 avater 方法将 croppie 设置为圆形。

Croppie::make('background')
    ->modalSize('6xl')
    ->modalHeading("Crop Background Image")

可以使用 modalSize 方法自定义模态大小。要设置标题,请使用 modalHeading

设置图像质量和格式

如果您的裁剪图像非常大(参见:[Foliotek/Croppie#444]),您可以使用 imageFormat()imageQuality() 方法修改结果图像。

SpatieMediaLibraryCroppie::make('image')
    ->imageFormat('jpeg')
    ->imageQuality(0.7);

默认值是

  • imageQuality(0.9)
  • imageFormat('png')

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件

致谢

这最初是 nuhel/FilamentCroppie 的分支,扩展并修改以使用 spatie/media-library,并通过 npm 安装 croppie。

变更日志

v1.0.4

  • 添加 imageFormat 和 imageQuality 选项/方法

v1.0.3

  • 重新捆绑 croppie 资产与插件资产,因为似乎在某些情况下不这样做无法正常工作

v1.0.0

  • 分支 nuhel/filament-croppie 并重命名一切,扩展 spatie 插件表单字段
  • 删除 croppie css 和 js,并从 node_modules 重新导入它们
  • 添加 viewportWidth/Height 和 boundaryWidth/Height 方法