mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
127 lines
3.5 KiB
Plaintext
127 lines
3.5 KiB
Plaintext
eZ Components - ImageAnalysis
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. contents:: Table of Contents
|
|
|
|
Introduction
|
|
============
|
|
|
|
The ImageAnalysis component allows you to analyze certain image attributes.
|
|
|
|
Class overview
|
|
==============
|
|
|
|
ezcImageAnalyzer is the main class for this component. It is responsible for
|
|
handling the analysis of image files, as well as caching the results.
|
|
|
|
Usage
|
|
=====
|
|
|
|
MIME type determination
|
|
-----------------------
|
|
|
|
The following example simply detects the MIME type of an image and prints it:
|
|
|
|
.. include:: tutorial_example_01.php
|
|
:literal:
|
|
|
|
On line 5, a new ezcImageAnalyzer object is instantiated. This must be done for
|
|
each image to be analyzed. In line 7, the MIME type is determined. Here is an
|
|
example image including the output:
|
|
|
|
.. image:: img/imageanalysis_example_01.jpg
|
|
:alt: Simple JPEG image.
|
|
|
|
::
|
|
|
|
Image has MIME type <image/jpeg>
|
|
|
|
Extracting further data
|
|
-----------------------
|
|
|
|
Aside from the MIME type, ImageAnalysis can extract other image information.
|
|
The following example demonstrates this:
|
|
|
|
.. include:: tutorial_example_02.php
|
|
:literal:
|
|
|
|
The example is basically the same as the first one, except that more data is requested
|
|
from ezcImageAnalyzer (lines 8 to 11). The analysis of additional data
|
|
begins on line 9. After that, the data is cached in the ezcImageAnalyzer object.
|
|
|
|
The width, height and size values are available for every analyzable image.
|
|
A comment is not always available. If an image property is not available, the
|
|
output will be some sensible default value (such as n/a). (Note that the
|
|
availability of some data also depends on the availability of PHP's Exif
|
|
extension.)
|
|
|
|
The example image and printed output is shown below:
|
|
|
|
.. image:: img/imageanalysis_example_02.jpg
|
|
|
|
::
|
|
|
|
Image data:
|
|
MIME type: image/jpeg
|
|
Width: 380 px
|
|
Height: 285 px
|
|
Filesize: 25984 b
|
|
Comment: n/a
|
|
|
|
|
|
Configuring handlers
|
|
--------------------
|
|
|
|
Like ezcImageConverter, ezcImageAnalyzer is based on handler classes, which
|
|
allow it to utilize different back-ends for image analysis. The currently
|
|
implemented handlers are:
|
|
|
|
ezcImageAnalyzerPhpHandler
|
|
This uses PHP's getimagesize() function (which does not require the GD
|
|
extension!) and can optionally use PHP's Exif extension.
|
|
|
|
ezcImageAnalyzerImagemagickHandler
|
|
Here `ImageMagick`_'s "identify" program is used.
|
|
|
|
Both handlers are activated by default and are capable of determining if their
|
|
preconditions are fulfilled.
|
|
|
|
You might need to configure a handler, if for example the path to the
|
|
ImageMagick_ "identify" binary is not available in the $PATH environment
|
|
variable. The following example shows how this is possible and what else can be
|
|
configured for the handlers:
|
|
|
|
.. _ImageMagick: http://www.imagemagick.org/script/index.php
|
|
|
|
.. include:: tutorial_example_03.php
|
|
:literal:
|
|
|
|
Basically, the code is the same as in example 2, except that ezcImageAnalyzer
|
|
is being configured to only use its ImageMagick handler and
|
|
not the PHP handler. In addition, the location of the "identify" binary is
|
|
explicitly set. See the results below:
|
|
|
|
.. image:: img/imageanalysis_example_03.jpg
|
|
|
|
::
|
|
|
|
Image data:
|
|
MIME type: image/jpeg
|
|
Width: 320 px
|
|
Height: 240 px
|
|
Filesize: 26365 b
|
|
Comment: San Francisco airport, October 2005.
|
|
|
|
More information
|
|
================
|
|
|
|
For more information, see the ezcImageAnalyzer API documentation.
|
|
|
|
|
|
..
|
|
Local Variables:
|
|
mode: rst
|
|
fill-column: 79
|
|
End:
|
|
vim: et syn=rst tw=79
|