prolixlib/ image-bundle
允许在通过经典表单上传之前裁剪本地和远程图像。
3.0.0
2020-07-14 12:56 UTC
Requires
- php: ^7.1
- symfony/form: ^4.4|^5.0
- vich/uploader-bundle: 1.15.*
README
概述
PrestaImageBundle是一个提供在通过经典表单上传之前调整本地/远程图像大小的工具的Symfony扩展包。它使用Cropper jQuery插件。
安装
将扩展包作为Composer依赖项要求
composer require presta/image-bundle
配置扩展包
您必须在config/packages/twig.yaml
中设置bootstrap_4.html.twig
表单主题。
twig: form_themes: - "@PrestaImage/form/bootstrap_4.html.twig"
注意:您也可以使用
bootstrap_3.html.twig
表单主题。
您必须在config/routes.yaml
中包含路由
presta_image: resource: "@PrestaImageBundle/Resources/config/routing.yaml"
有关配置扩展包的详细信息,请参阅VichUploader 文档。
安装资源文件
有关安装资源的详细信息,请参阅Cropper 文档。
请勿忘记将以下资源文件包含在您的页面中
/path/to/cropper/dist/cropper.min.css
/path/to/cropper/dist/cropper.min.js
/path/to/cropper/dist/jquery-cropper.min.js
@PrestaImageBundle/Resources/public/css/cropper.css
@PrestaImageBundle/Resources/public/js/cropper.js
注意,需要jQuery和Bootstrap,并且必须包含它们。
如何:实现示例
使用方法
初始化cropper
(function(w, $) { 'use strict'; $(function() { $('.cropper').each(function() { new Cropper($(this)); }); }); })(window, jQuery);
使用表单类型
<?php use Presta\ImageBundle\Form\Type\ImageType; public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('image', ImageType::class) ; }
ImageType
的可选参数
aspect_ratios
(array
):调整图像时应用的宽高比列表cropper_options
(array
):cropper支持的可选参数列表(默认:['autoCropArea' => 1]
)max_width
(int
):发送到服务器的裁剪图像的最大宽度(默认:320
)max_height
(int
):发送到服务器的裁剪图像的最大高度(默认:180
)preview_width
(string
):显示图像预览时使用的最大宽度 - 可以是px、%或其他CSS值(默认:'320px'
)preview_height
(string
):显示图像预览时使用的最大高度 - 可以是px、%或其他CSS值(默认:'180px'
)upload_button_class
(string
):按钮的类(默认:'btn btn-sm btn-primary'
)upload_button_icon
(string
):按钮的类(默认:'fa fa-upload'
)cancel_button_class
(string
):按钮的类(默认:'btn btn-default'
)save_button_class
(string
):按钮的类(默认:'btn btn-primary'
)download_uri
(string
):图像所在的路径(默认:null
,自动设置)download_link
(bool
):是否允许最终用户通过URL添加远程图像(默认:true
)enable_locale
(bool
):是否启用本地上传(默认:true
)enable_remote
(bool
):是否启用远程上传(默认:true
)upload_mimetype
(string
):要上传的图像格式(默认:image/png
)
(注意:如果选择的mimetype不支持浏览器,它将静默回退到image/png
)upload_quality
(float
): 上传图片的质量(0..1),用于有损图像格式(例如:image/jpeg
)(默认:0.92
)
注意事项
您可以在这里找到 Cropper 选项。
使用 max_width
和 max_height
选项来定义裁剪后上传图像的最大尺寸。裁剪后的大图像会被缩小。
安全提示:永远不要依赖这些尺寸限制和格式设置,因为它们很容易在客户端被操纵。始终在服务器端验证图像数据、尺寸和格式!
贡献
欢迎提交拉取请求。
感谢所有已经做出贡献的人。
本项目由PrestaConcept支持
主要开发者 : @J-Ben87
在MIT许可证下发布