prolix/image-bundle

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

安装: 756

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 3

分支: 19

类型:symfony-bundle

3.0.0 2020-07-13 14:12 UTC

README

Build Status Scrutinizer Code Quality Latest Stable Version Total Downloads

概述

PrestaImageBundle是一个提供工具,在通过经典表单上传之前调整本地/远程图像大小的Symfony包。它使用Cropper jQuery插件。

安装

将包作为Composer依赖项要求

php composer.phar require presta/image-bundle

在内核中启用包

您必须在app/AppKernel.php中添加以下包

<?php

public function registerBundles()
{
    $bundles = [
        // ...
        new Vich\UploaderBundle\VichUploaderBundle(),
        new Presta\ImageBundle\PrestaImageBundle(),
    ];
}

配置包

您必须在app/config.yml中使用image_widget.html.twig表单主题。

twig:
    form_themes:
        - "PrestaImageBundle:form:image_widget.html.twig"

您必须将路由包含到app/config/routing.yml

presta_image:
    resource: "@PrestaImageBundle/Resources/config/routing.yml"

有关配置包的详细信息,请参阅VichUploader 文档

安装资产

有关安装资产的详细信息,请参阅Cropper 快速入门部分

请注意,需要jQueryBootstrap

不要忘记在您的页面上包含以下资产

  • /path/to/cropper/dist/cropper.min.css
  • /path/to/cropper/dist/cropper.min.js
  • @PrestaImageBundle/Resources/public/css/cropper.css
  • @PrestaImageBundle/Resources/public/js/cropper.js

用法

初始化裁剪器

(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)
{
    $builder
        ->add('image', ImageType::class)
    ;
}

ImageType的可用选项

  • aspect_ratio (array):调整图像大小时应用的宽高比列表
  • cropper_options (array):裁剪器支持的一组选项(默认:['autoCropArea' => 1]
  • max_width (int):发送到服务器的裁剪图像的最大宽度(默认:320
  • max_height (int):发送到服务器的裁剪图像的最大高度(默认:180
  • preview_width (int):显示图像预览时使用的最大宽度(默认:320
  • preview_height (int):显示图像预览时使用的最大高度(默认:180
  • download_uri (string):图像所在的路径(默认:null,自动设置)
  • download_link (bool):最终用户是否应该能够通过URL添加远程图像(默认:true
  • upload_mimetype (string):要上传的图像的格式(默认:image/png
    (注意:如果选择的MIME类型不受浏览器支持,它将静默回退到image/png
  • upload_quality (float):上传图像的损失图像格式的质量(0..1)(默认:0.92

注意

您可以在此处找到Cropper选项。

使用max_widthmax_height选项定义裁剪上传图像的最大尺寸。更大的图像(裁剪后)将被缩小。

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

贡献

欢迎提交拉取请求。

感谢所有已作出贡献的人

该项目由PrestaConcept支持。

主要开发者 : @J-Ben87

在MIT许可下发布