rares / image-crop-bundle
一个使用 Cropper jQuery 库裁剪图片并集成 VichUploaderBundle 的包。
2.0.3
2018-07-17 09:34 UTC
Requires
- php: ^7.0
- symfony/config: ^3.4|^4.0
- symfony/dependency-injection: ^3.4|^4.0
- symfony/form: ^3.4|^4.0
- symfony/http-foundation: ^3.4|^4.0
- symfony/http-kernel: ^3.4|^4.0
- twig/twig: ^1.35|^2.0
- vich/uploader-bundle: ^1.8
README
ImageCropBundle 是一个为 Symfony 3.4 / 4 设计的包,允许您在上传之前裁剪图片。它使用 Cropper jQuery 库并与 VichUploaderBundle 集成。
安装
要安装此包,首先您需要安装 jQuery 和 Cropper 库。您可以从这里下载 Cropper。请确保您已安装并配置了 VichUploaderBundle。
请确保在您的模板中包含 Cropper 的 css 和 js 文件
<link href="{{ asset('css/cropper.min.css') }}" rel="stylesheet">
<script src="{{ asset('js/cropper.min.js') }}"></script>
然后您需要在 Composer 中引入此包
composer require "rares/image-crop-bundle"
然后您需要在 AppKernel 文件中启用此包
$bundles = [
...,
new Rares\ImageCropBundle\RaresImageCropBundle(),
];
然后您需要使用命令安装资产
bin/console assets:install --symlink
然后您需要在您的模板中包含此包提供的脚本文件
<script src="{{ asset('bundles/raresimagecrop/js/image-crop.js') }}"></script>
此外,您需要配置 twig 以使用此包中定义的表单主题,并且需要为实体配置 vich uploader。
twig:
form_themes:
- 'VichUploaderBundle:Form:fields.html.twig'
- 'RaresImageCropBundle:Form:fields.html.twig'
功能
此包允许您在上传到服务器之前调整(裁剪、缩放)和旋转图片。要启用此功能,在您的表单类中,您需要使用此包中提供的类型代替默认的 VichImageType 表单类型。此类型具有与 vich image 相同的选项。
$builder
->add('imageFile', CropImageType::class, [
'required' => false,
'label' => 'user.account.image',
'download_link' => false,
]);
这样就可以了!现在您可以在上传之前编辑图片,此包将处理其余部分。
请务必查看 demo 分支,了解如何使用此包的示例。