此函数将返回一个整数,该值等于由 ImageMagick 类定义的 IMGType 常量的计算值。访问它们时,它们看起来像 "imagick::IMGTYPE_PALETTE",但 "_VALUE" 值为:undefined、bilevel、grayscale、grayscalematte、palette、palettematte、truecolor、truecolormatte、colorseparation、colorseparationmatte 和 optimize。如果打印这些值,undefined 为 '0',bilevel 为 '1',grayscale 为 '2',依此类推。
对于在画图中绘制的 BMP 图片,我得到了值 # 4 - Palette。对于海洋或丛林的 BMP 或 JPEG 照片,我得到了值 # 6 - Truecolor。对于动画 GIF 文件,我得到了值 # 5 - Palette Matte。对于黑白 JPEG 图像,我得到了值 # 2 - Grayscale。这些是我使用此函数获得的最常见结果。
一些示例代码
<?php
$imagick_type = new Imagick();
$file_to_grab = "image_workshop_directory/test.bmp";
$file_handle_for_viewing_image_file = fopen($file_to_grab, 'a+');
$imagick_type->readImageFile($file_handle_for_viewing_image_file);
$image_type = $imagick_type->getImageType();
switch($image_type)
{
case imagick::IMGTYPE_UNDEFINED:
$image_type_title = "Undefined";
break;
case imagick::IMGTYPE_BILEVEL:
$image_type_title = "Bilevel";
break;
case imagick::IMGTYPE_GRAYSCALE:
$image_type_title = "Grayscale";
break;
case imagick::IMGTYPE_GRAYSCALEMATTE:
$image_type_title = "Grayscale Matte";
break;
case imagick::IMGTYPE_PALETTE:
$image_type_title = "Palette";
break;
case imagick::IMGTYPE_PALETTEMATTE:
$image_type_title = "Palette Matte";
break;
case imagick::IMGTYPE_TRUECOLOR:
$image_type_title = "Truecolor";
break;
case imagick::IMGTYPE_TRUECOLORMATTE:
$image_type_title = "Truecolor Matte";
break;
case imagick::IMGTYPE_COLORSEPARATION:
$image_type_title = "Color Separation";
break;
case imagick::IMGTYPE_COLORSEPARATIONMATTE:
$image_type_title = "Color Separation Matte";
break;
case imagick::IMGTYPE_OPTIMIZE:
$image_type_title = "Optimize";
break;
}
print("# $image_type - $image_type_title");
?>