2017 © Pedro Peláez
 

library webino-image-thumb

Image Thumbnailer for Zend Framework 2

image

joacub/webino-image-thumb

Image Thumbnailer for Zend Framework 2

  • Wednesday, August 31, 2016
  • by joacub
  • Repository
  • 1 Watchers
  • 0 Stars
  • 16 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 26 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Image Thumbnailer for Zend Framework 2

Build Status Build Status, (*1)

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

Powered by PHPThumb, (*3)

Features

  • Resize, crop, pad, rotate, show and save images
  • Create image reflection

Setup

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

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

Requirements

  • GD 2.0+

QuickStart

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

    // 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 = array(), $plugins = array());
    
    $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., (*6)

  • Use reflection plugin:, (*7)

    $reflection = $thumbnailer->createReflection(40, 40, 80, true, '#a4a4a4');
    $thumb      = $thumbnailer->create($imagePath, array(), array($reflection));

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:, (*8)

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 array(255,255,255) array([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 array(255,255,255) array([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 = array(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), (*9)

    • $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.

Changelog

2.0.0

  • Requires PHPThumb 2.0 via composer

1.0.0

  • Initial release

Develop

Requirements

Setup

  1. Clone this repository and run: phing update, (*10)

    Now your development environment is set., (*11)

  2. Open project in (NetBeans) IDE, (*12)

  3. To check module integration with the skeleton application open following directory via web browser:, (*13)

    ._test/ZendSkeletonApplication/public/, (*14)

    e.g. http://localhost/WebinoImageThumb/._test/ZendSkeletonApplication/public/, (*15)

  4. Integration test resources are in directory: test/resources, (*16)

Testing

  • Run phpunit in the test directory
  • Run phing test in the module directory to run tests and code analysis, (*17)

    NOTE: To run the code analysis there are some tool requirements:, (*18)

    NOTE: Those tools are present after development environment is based., (*19)

Addendum

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

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

Report a bug | Fork me, (*22)

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