prolixlib/image-bundle

允许在通过经典表单上传之前裁剪本地和远程图像。

安装: 255

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 1

分支: 19

语言:HTML

类型:symfony-bundle

3.0.0 2020-07-14 12:56 UTC

README

Build Status Scrutinizer Code Quality Latest Stable Version Total Downloads

概述

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

注意,需要jQueryBootstrap,并且必须包含它们。

如何:实现示例

使用方法

初始化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_ratiosarray):调整图像时应用的宽高比列表
  • cropper_optionsarray):cropper支持的可选参数列表(默认:['autoCropArea' => 1]
  • max_widthint):发送到服务器的裁剪图像的最大宽度(默认:320
  • max_heightint):发送到服务器的裁剪图像的最大高度(默认:180
  • preview_widthstring):显示图像预览时使用的最大宽度 - 可以是px、%或其他CSS值(默认:'320px'
  • preview_heightstring):显示图像预览时使用的最大高度 - 可以是px、%或其他CSS值(默认:'180px'
  • upload_button_classstring):按钮的类(默认:'btn btn-sm btn-primary'
  • upload_button_iconstring):按钮的类(默认:'fa fa-upload'
  • cancel_button_classstring):按钮的类(默认:'btn btn-default'
  • save_button_classstring):按钮的类(默认:'btn btn-primary'
  • download_uristring):图像所在的路径(默认:null,自动设置)
  • download_linkbool):是否允许最终用户通过URL添加远程图像(默认:true
  • enable_localebool):是否启用本地上传(默认:true
  • enable_remotebool):是否启用远程上传(默认:true
  • upload_mimetypestring):要上传的图像格式(默认:image/png
    (注意:如果选择的mimetype不支持浏览器,它将静默回退到image/png
  • upload_quality (float): 上传图片的质量(0..1),用于有损图像格式(例如:image/jpeg)(默认:0.92

注意事项

您可以在这里找到 Cropper 选项。

使用 max_widthmax_height 选项来定义裁剪后上传图像的最大尺寸。裁剪后的大图像会被缩小。

安全提示:永远不要依赖这些尺寸限制和格式设置,因为它们很容易在客户端被操纵。始终在服务器端验证图像数据、尺寸和格式!

贡献

欢迎提交拉取请求。

感谢所有已经做出贡献的人

本项目由PrestaConcept支持

主要开发者 : @J-Ben87

在MIT许可证下发布