flazzarotto/binary-filter

为文件和二进制数据提供简单的Liip Imagine服务器端图像过滤器

0.1.5 2016-12-08 14:28 UTC

This package is auto-updated.

Last update: 2024-09-14 21:03:59 UTC


README

此Symfony3捆绑包使用liip/imagine,允许您在PHP端轻松使用图像过滤器。

## 设置

  1. 运行composer require flazzarotto/binary-filter

  2. 修改AppKernel.php

    $bundles = [
      // add following lines
      new \Liip\ImagineBundle\LiipImagineBundle(),
      new Flazzarotto\BinaryFilterBundle\BinaryFilterBundle()
    ];
  3. 配置您的过滤器与liip相同,但使用我们的二进制图像加载器作为数据加载器。例如

    # config.yml
    liip_imagine :
        # your filter sets are defined here
        filter_sets :
            # use the default cache configuration
            cache : ~
    
            my_filter:
                data_loader: binary_image_data_loader
                filters:
                    thumbnail:
                        size: [1920, 1080]
                        mode: outbound

如何使用

此包的主要目标是允许您在控制器、命令、服务等中动态调整大小、生成缩略图。您可以向服务提供二进制数据和文件路径。

示例

$filter = $this->get('image.back_filter'); // the BinaryFilter service

$filter ->setDefaultFilter('my_filter') // filter as defined in your config.yml - optional

        ->loadBinary($data,$outputFile) // $data as binary, $outputFile as path relative to directory - return a BinaryFilter object
        // OR
        ->loadFile($path) // provide absolute path to your input image - return a BinaryFilter object

        ->applyFilter($filter) // you can override default filter - optional if default filter has been given
        
        ->getMimeType(); // optional; useful to determine extension or for direct download
        
        ->outputFile(true); // save filtered image to output file; set parameter to true to allow overriding if file exists
        // OR
        ->getFilteredBinary(); // returns picture as binary data