PHP Conference Japan 2024

Imagick::getImageType

(PECL imagick 2, PECL imagick 3)

Imagick::getImageType取得潛在的影像型別

描述

public Imagick::getImageType(): int

取得潛在的影像型別。

參數

此函式沒有參數。

錯誤/例外

發生錯誤時會拋出 ImagickException。

新增筆記

使用者貢獻的筆記 2 則筆記

0
holdoffhunger at gmail dot com
12 年前
此函式將會回傳一個整數,該值等於 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

// 作者:holdoffhunger@gmail.com

// Imagick 類型
// ---------------------------------------------

$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");

?>
-1
lukeydeluxe at gmail dot com
15 年前
請記住,如果成功,結果會是一個陣列,這表示如果您想知道檔案使用的格式,您應該呼叫例如 "$var[format]"。
To Top