joacub/webino-image-thumb

Zend Framework 2 的图片缩略图工具

2.0.0-RC1 2013-12-04 15:39 UTC

This package is not auto-updated.

Last update: 2024-09-20 19:09:35 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 添加到启用模块列表中

需求

  • 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 - 水印相对于图像的比例。

变更日志

2.0.0 [未发布]

  • 需要通过composer安装PHPThumb 2.0
  • 添加了空白剪裁插件
  • 添加了锐化插件
  • 移除了ZF自动加载器的支持
  • 添加了水印插件
  • 添加了ImageThumbAwareInterface & Trait

1.0.0

  • 首次发布

开发

Dependency Status

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

了解如何开发Webino模块 如何开发Webino模块

补充说明

大部分文档来自PHPThumb维基

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

报告错误 | Fork我