Mid-Atlantic Developer Conference


(PECL imagick 2.0.0)

Imagick::getImagePropertiesRetourne les propriétés EXIF de l'image


array Imagick::getImageProperties ([ string $pattern = "*" [, bool $include_values = TRUE ]] )

Retourne toutes les propriétés de l'image, qui satisfont un modèle. Si FALSE est passé comme second paramètre, seul les noms des propriétés sont retournés. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.

Liste de paramètres


Le modèle pour les noms de propriétés.


S'il faut retourner uniquement les noms des propriétés. Si FALSE est fourni, alors seul le noms des propriétés seront retournées.

Valeurs de retour

Retourne un tableau contenant les propriétés de l'image, ou leurs noms.


Exemple #1 Exemple avec Imagick::getImageProperties()

Exemple d'extraction d'informations EXIF.


/* Crée un objet */
$im = new imagick("/path/to/example.jpg");

/* Lit les informations EXIF */
$exifArray $im->getImageProperties("exif:*");

/* Passe en revue les propriétés EXIF */
foreach ($exifArray as $name => $property)
"{$name} => {$property}<br />\n"


add a note add a note

User Contributed Notes 4 notes

benkuhl at gmail dot com
5 years ago
The output of this method on a PDF:

            [date:create] => 2013-01-24T13:27:37-05:00
            [date:modify] => 2013-01-24T13:27:37-05:00
            [pdf:HiResBoundingBox] => 1089x396+0+0
            [pdf:SpotColor-0] => PANTONE 697 C
            [pdf:SpotColor-1] => Black
            [pdf:SpotColor-10] => PANTONE 504 M C
            [pdf:SpotColor-2] => Strike_Thru
            [pdf:SpotColor-3] => PANTONE 7421 C
            [pdf:SpotColor-4] => PANTONE 697 C
            [pdf:SpotColor-5] => PANTONE 873 C
            [pdf:SpotColor-6] => PANTONE 504 M C
            [pdf:SpotColor-7] => Die
            [pdf:SpotColor-8] => PANTONE 697 C
            [pdf:SpotColor-9] => PANTONE 504 M C
            [pdf:Version] => PDF-1.5
            [signature] => 4d871b27b26537c523326f92454ecb2e19fa9e0e86e2a075f97354ad4f3bf122
holdoffhunger at gmail dot com
5 years ago
The getImageProperties function in PHP returns an array of property keys available for an image.  To get these property values, you use getImageProperty function, giving it one of the available keys provided by the getImageProperties function result.  For some images, you may have a lot of properties and for some, you may have few.  The two that almost every image seems to have are "date:create" and "date:modify", but some images may have forty or more properties, some titled "exif:Compression", "photoshop:Credit", "jpeg:colorspace", "rdf:Alt", "stRef:documentID", and "xap:CreatorTool."  PNG files will also have properties like "png:IHDR.bit_depth" and "png:IHDR.width,height."  So far, it appears generally that GIF and BMP files, being simpler, have fewer properties, whereas JPEG and PNG files, being more complicated, have much wider array of properties.  It seems incredibly useful in document management.

And now, some sample code and results :


// Author: holdoffhunger@gmail.com
        // Imagick Type
        // ---------------------------------------------

$imagick_type = new Imagick();
// Open File
        // ---------------------------------------------
$file_to_grab = "image_workshop_directory/test.png";
$file_handle_for_viewing_image_file = fopen($file_to_grab, 'a+');
// Grab File
        // ---------------------------------------------

// Get Image Properties
        // ---------------------------------------------
$imagick_type_properties = $imagick_type->getImageProperties('*', FALSE);
// Print Image Properties
        // ---------------------------------------------
// Print Each Individual, Image Property
        // ---------------------------------------------
foreach($imagick_type_properties as $value)
"$value --- ");


Results of this done on a standard PNG image :

    [0] => date:create
    [1] => date:modify
    [2] => png:cHRM                
    [3] => png:gAMA                
    [4] => png:IHDR.bit_depth      
    [5] => png:IHDR.color_type     
    [6] => png:IHDR.interlace_method
    [7] => png:IHDR.width,height   
    [8] => png:sRGB                
date:create --- 2012-05-19T18:26:45-05:00

date:modify --- 2012-05-19T18:26:45-05:00

png:cHRM                  --- chunk was found (see Chromaticity, above)

png:gAMA                  --- gamma=0.45455 (See Gamma, above)

png:IHDR.bit_depth        --- 8

png:IHDR.color_type       --- 2

png:IHDR.interlace_method --- 0

png:IHDR.width,height     --- 320, 320

png:sRGB                  --- intent=0 (See Rendering intent)
www dot query at gmail dot com
6 years ago
To access a photograph's EXIF data an alternative method is the normal PHP Exif function.


= exif_read_data($pic1);
$edate = $exif_data['DateTime'];


See: http://php.net/manual/en/book.exif.php
8 years ago
ImageMagick only supports setting a very small number of EXIF properties. 

See http://www.imagemagick.org/discourse-server/viewtopic.php?t=14234
To Top