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(参见伽马,上文)
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(参见渲染意图)