PHP Conference Japan 2024

Imagick::getImageType

(PECL imagick 2, PECL imagick 3)

Imagick::getImageType获取潜在的图像类型

描述

public Imagick::getImageType(): int

获取潜在的图像类型。

参数

此函数没有参数。

错误/异常

发生错误时抛出 ImagickException。

添加注释

用户贡献的注释 2 条注释

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

// 作者:[email protected]

// 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 = "未定义";
break;

case
imagick::IMGTYPE_BILEVEL:
$image_type_title = "双色调";
break;

case
imagick::IMGTYPE_GRAYSCALE:
$image_type_title = "灰度";
break;

case
imagick::IMGTYPE_GRAYSCALEMATTE:
$image_type_title = "灰度蒙版";
break;

case
imagick::IMGTYPE_PALETTE:
$image_type_title = "调色板";
break;

case
imagick::IMGTYPE_PALETTEMATTE:
$image_type_title = "调色板蒙版";
break;

case
imagick::IMGTYPE_TRUECOLOR:
$image_type_title = "真彩色";
break;

case
imagick::IMGTYPE_TRUECOLORMATTE:
$image_type_title = "真彩色蒙版";
break;

case
imagick::IMGTYPE_COLORSEPARATION:
$image_type_title = "色彩分离";
break;

case
imagick::IMGTYPE_COLORSEPARATIONMATTE:
$image_type_title = "色彩分离蒙版";
break;

case
imagick::IMGTYPE_OPTIMIZE:
$image_type_title = "优化";
break;
}

// 打印图像类型值
// ---------------------------------------------

print("# $image_type - $image_type_title");

?>
lukeydeluxe at gmail dot com
15 年前
请记住,如果成功,结果是一个数组,这意味着如果要了解文件使用的格式,则应例如调用“$var[format]”。
To Top