2017 © Pedro Peláez
 

library webino-image-thumb

Image Thumbnailer for Zend Framework 2

image

webino/webino-image-thumb

Image Thumbnailer for Zend Framework 2

  • Thursday, June 7, 2018
  • by Webino
  • Repository
  • 6 Watchers
  • 41 Stars
  • 36,689 Installations
  • PHP
  • 4 Dependents
  • 2 Suggesters
  • 26 Forks
  • 6 Open issues
  • 6 Versions
  • 2 % Grown

The README.md

Image Thumbnailer
for Zend Framework 2

Build Status Coverage Status Scrutinizer Quality Score Dependency Status
Latest Stable Version Total Downloads Latest Unstable Version License, (*1)

Service that provides API to manipulate images., (*2)

Features

  • Resize, crop, pad, rotate, show and save images
  • Create image reflection
  • Crop whitespace
  • Sharpen images
  • Watermark

Setup

Following steps are necessary to get this module working, considering a zf2-skeleton or very similar application:, (*3)

  1. Run: php composer.phar require webino/webino-image-thumb:dev-develop
  2. Add WebinoImageThumb to the enabled modules list

Requirements

  • PHP >= 5.6
  • GD 2.0+

QuickStart

  • For example add following code into the controller action, assume example image:, (*4)

    // 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');

    NOTE: If you don't know how to inject the WebinoImageThumb into action controller, check out test/resources, (*5)

  • Use reflection plugin:, (*6)

    $reflection = $thumbnailer->createReflection(40, 40, 80, true, '#a4a4a4');
    $thumb      = $thumbnailer->create($imagePath, [], [$reflection]);
  • Use whitespace cropper plugin:, (*7)

    $cropper = $thumbnailer->createWhitespaceCropper();
    $thumb   = $thumbnailer->create($imagePath, [], [$cropper]);
  • Use sharpen plugin:, (*8)

    $sharpen = $thumbnailer->createSharpen();
    $thumb   = $thumbnailer->create($imagePath, [], [$sharpen]);
  • Use watermark plugin:, (*9)

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

Options

The options array allows you to customize the behavior of the library a bit. Some of these options are implementation-specific, and are noted as such. So, let's first go over what options are available to us:, (*10)

Option Name Description Default Value Valid Values
resizeUp Whether or not to scale an image up to the desired dimensions false true / false
jpegQuality What quality to save jpeg files with (how much compression to use, 100 being none) 100 1-100
correctPermissions Whether or not the library should attempt to correct file permissions. This will only work if you set up your PHP to allow chmod operations false true / false
preserveAlpha Whether or not to preserve alpha transparency in PNG files true true / false
alphaMaskColor What rgb color should be used for the alpha mask [255, 255, 255] [0-255, 0-255, 0-255]
preserveTransparency Whether or not to preserve transparency in GIF files true true / false
transparencyMaskColor What rgb color should be used for the transparency mask [255, 255, 255] [0-255, 0-255, 0-255]
interlace When the interlace option equals true or false call imageinterlace null true / false

Functions

  • 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)

Getters / Setters

  • 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)

Reflection plugin

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

    • $percent - What percentage of the image to create the reflection from.
    • $reflection - What percentage of the image height should the reflection height be.
    • $white - How transparent (using white as the background) the reflection should be, as a percent.
    • $border - Whether a border should be drawn around the original image.
    • $borderColor - The hex value of the color you would like your border to be.

Whitespace Cropper plugin

  • createWhitespaceCropper($border, $color), (*12)

    • $margin - What pixels of a margin should be around the original image.
    • $color - The hex value of the color you would like to crop.

Watermark plugin

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

    • $watermarkThumb - Watermark image from watermark file.
    • $position - Position of watermark, center by default:
      • [0, 0] - center
      • [-1, -1] - left bottom
      • [-1, 1] - left top
      • [1, 1] - right top
      • [1, -1] - right bottom
    • $scale - Scale of the watermark relative to the image.

Changelog

2.1.0

  • Requires webino/thumbnailer replacing masterexploder/PHPThumb
  • Deprecated plugin classes, moved to webino/thumbnailer package

2.0.0

  • PHP >= 5.6
  • Requires PHPThumb 2.0 via composer
  • Added Whitespace Cropper plugin
  • Added Sharpen plugin
  • Removed ZF autoloader support
  • Added Watermark plugin
  • Added ImageThumbAwareInterface & Trait

1.0.0

  • Initial release

Development

Dependency Status, (*14)

We will appreciate any contributions on development of this module., (*15)

Learn How to develop Webino modules, (*16)

Addendum

Most of the documentation is taken from the PHPThumb wiki., (*17)

Please, if you are interested in this Zend Framework module report any issues and don't hesitate to contribute., (*18)

Report a bug | Fork me, (*19)

The Versions

03/11 2012

1.0.0

1.0.0.0 https://github.com/webino/WebinoImageThumb

Image Thumbnailer for Zend Framework.

  Sources   Download

New BSD License

The Requires

 

framework zf2 zend image thumb webino