webino/webino-image-thumb

Zend Framework 2 的图像缩略图生成器

2.1.0 2018-06-07 11:11 UTC

This package is auto-updated.

Last update: 2024-09-04 22:51:32 UTC


README

Build Status Coverage Status Scrutinizer Quality Score Dependency Status
Latest Stable Version Total Downloads Latest Unstable Version License

提供API来操作图像的服务。

功能

  • 调整大小、裁剪、填充、旋转、显示和保存图像
  • 创建图像反射
  • 裁剪空白区域
  • 锐化图像
  • 水印

设置

以下步骤是在考虑zf2-skeleton或非常类似的应用程序的情况下使此模块正常工作的必要步骤

  1. 运行: php composer.phar require webino/webino-image-thumb:dev-develop
  2. WebinoImageThumb 添加到启用模块列表

要求

  • PHP >= 5.6
  • GD 2.0+

快速入门

  • 例如,将以下代码添加到控制器操作中,假设示例图像

    // We encourage to use Dependency Injection instead of Service Locator
    $thumbnailer = $this->getServiceLocator()->get('WebinoImageThumb');
    $imagePath   = 'public/images/example.jpg';
    $thumb       = $thumbnailer->create($imagePath, $options = [], $plugins = []);
    
    $thumb->resize(100, 100);
    
    $thumb->show();
    // or/and
    $thumb->save('public/images/resized.jpg');
    

    注意:如果您不知道如何将WebinoImageThumb注入到动作控制器中,请查看test/resources

  • 使用反射插件

    $reflection = $thumbnailer->createReflection(40, 40, 80, true, '#a4a4a4');
    $thumb      = $thumbnailer->create($imagePath, [], [$reflection]);
    
  • 使用空白区域裁剪插件

    $cropper = $thumbnailer->createWhitespaceCropper();
    $thumb   = $thumbnailer->create($imagePath, [], [$cropper]);
    
  • 使用锐化插件

    $sharpen = $thumbnailer->createSharpen();
    $thumb   = $thumbnailer->create($imagePath, [], [$sharpen]);
    
  • 使用水印插件

    $watermarkPath  = 'public/images/my_watermark.png';
    $watermarkThumb = $thumbnailer->create($watermarkPath);
    $watermark      = $thumbnailer->createWatermark($watermarkThumb);
    $thumb          = $thumbnailer->create($imagePath, [], [$watermark]);
    

选项

选项数组允许您稍微自定义库的行为。其中一些选项是特定实现的,并已注明。因此,让我们首先了解一下我们有哪些选项可用

函数

  • adaptiveResize($width, $height)
  • adaptiveResizePercent($width, $height, $percent = 50)
  • adaptiveResizeQuadrant($width, $height, $quadrant = 'T|B|C|L|R')
  • crop($startX, $startY, $cropWidth, $cropHeight)
  • cropFromCenter($cropWidth, $cropHeight = null)
  • pad($width, $height, $color = [255, 255, 255])
  • resize($maxWidth, $maxHeight)
  • resizePercent($percent)
  • rotateImage($direction = 'CW|CCW')
  • rotateImageNDegrees($degrees)
  • save($fileName, $format = 'GIF|JPG|PNG')
  • show($rawData = false)

获取器/设置器

  • getCurrentDimensions()
  • getFileName()
  • getFormat()
  • getIsRemoteImage()
  • getMaxHeight()
  • getMaxWidth()
  • getNewDimensions()
  • getOldImage()
  • getOptions()
  • getPercent()
  • getWorkingImage()
  • setCurrentDimensions($currentDimensions)
  • setFileName($fileName)
  • setFormat($format)
  • setMaxHeight($maxHeight)
  • setMaxWidth($maxWidth)
  • setNewDimensions($newDimensions)
  • setOldImage($oldImage)
  • setOptions($options)
  • setPercent($percent)
  • setWorkingImage($workingImage)

反射插件

  • createReflection($percent, $reflection, $white, $border, $borderColor)

    • $percent - 从图像创建反射的百分比。
    • $reflection - 反射高度应占图像高度的百分比。
    • $white - 反射应有多透明(使用白色作为背景),以百分比表示。
    • $border - 是否应在原始图像周围绘制边框。
    • $borderColor - 您希望边框的颜色十六进制值。

空白区域裁剪插件

  • createWhitespaceCropper($border, $color)

    • $margin - 原始图像周围的边距像素。
    • $color - 您希望裁剪的颜色十六进制值。

水印插件

  • createWatermark(PHPThumb $watermarkThumb, $position = [0, 0], $scale = .5)

    • $watermarkThumb - 从水印文件获取水印图像。
    • $position - 水印位置,默认为中心
      • [0, 0] - 中心
      • [-1, -1] - 左下角
      • [-1, 1] - 左上角
      • [1, 1] - 右上角
      • [1, -1] - 右下角
    • $scale - 水印相对于图像的缩放比例。

变更日志

3.0.0 [未发布]

  • 移除了过时的插件类

2.1.0

  • 需要使用 webino/thumbnailer 替换 masterexploder/PHPThumb
  • 过时的插件类已移至 webino/thumbnailer 包中

2.0.0

  • PHP >= 5.6
  • 需要通过 composer 使用 PHPThumb 2.0
  • 添加了空白区域裁剪插件
  • 添加了锐化插件
  • 移除了 ZF 自动加载器支持
  • 添加了水印插件
  • 添加了 ImageThumbAwareInterface & Trait

1.0.0

  • 初始发布

开发

Dependency Status

我们非常欢迎对这个模块的开发做出贡献。

了解如何开发 Webino 模块

补充

大部分文档来自PHPThumb 维基

如果您对这个 Zend Framework 模块感兴趣,请报告任何问题,并不要犹豫做出贡献。

报告错误 | Fork 我