PHP 中的 getImageProperties 函数返回一个包含图像可用属性键的数组。要获取这些属性值,请使用 getImageProperty 函数,并为其提供 getImageProperties 函数结果提供的可用键之一。对于某些图像,您可能拥有很多属性,而对于另一些图像,您可能拥有很少的属性。几乎每张图像似乎都拥有的两个属性是 "date:create" 和 "date:modify",但有些图像可能拥有 40 多个属性,有些标题为 "exif:Compression"、"photoshop:Credit"、"jpeg:colorspace"、"rdf:Alt"、"stRef:documentID" 和 "xap:CreatorTool"。PNG 文件还将拥有像 "png:IHDR.bit_depth" 和 "png:IHDR.width,height" 这样的属性。到目前为止,似乎 GIF 和 BMP 文件(更简单)通常拥有更少的属性,而 JPEG 和 PNG 文件(更复杂)拥有更多更广泛的属性。它在文档管理方面似乎非常有用。
现在,一些示例代码和结果
<?php
$imagick_type = new Imagick();
$file_to_grab = "image_workshop_directory/test.png";
$file_handle_for_viewing_image_file = fopen($file_to_grab, 'a+');
$imagick_type->readImageFile($file_handle_for_viewing_image_file);
$imagick_type_properties = $imagick_type->getImageProperties('*', FALSE);
print("<pre>");
print_r($imagick_type_properties);
foreach($imagick_type_properties as $value)
{
print("$value --- ");
print($imagick_type->getImageProperty("$value"));
print("<br><br>");
}
print("</pre>");
?>
在标准 PNG 图像上执行此操作的结果
数组
(
[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 --- 找到了块(请参见上面的色度)
png:gAMA --- gamma=0.45455(请参见上面的 Gamma)
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(请参见渲染意图)