此函式將會回傳一個整數,該值等於 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");
?>