PHP ImageMagick函數getImageType返回一個數組編號,但我找不到任何有關如何將其與某個類型進行實際關聯的文檔。PHP ImageMagick getImageType返回數組...如何與類型關聯?
我需要知道,如果它是一個PNG,JPG,GIF,等...如果它是成功的,因爲每本頁面
$image = new Imagick("test.png");
$ext = $image->getImageType();
// prints 6
echo $ext
PHP ImageMagick函數getImageType返回一個數組編號,但我找不到任何有關如何將其與某個類型進行實際關聯的文檔。PHP ImageMagick getImageType返回數組...如何與類型關聯?
我需要知道,如果它是一個PNG,JPG,GIF,等...如果它是成功的,因爲每本頁面
$image = new Imagick("test.png");
$ext = $image->getImageType();
// prints 6
echo $ext
我建議這樣這對我來說
$image = new Imagick('image.gif');
$image->getImageFormat();
echo $image; // output GIF
getImageType()返回一個數組。
http://php.net/manual/en/function.imagick-getimagetype.php
也許嘗試vardump或$ EXT的print_r的?
$ ext的print_r返回6,只是回顯$ ext – kylex 2011-04-11 21:31:46
您可以使用getimagesize
來獲取圖像大小和類型。 1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(英文字節或字節),8 = TIFF圖像類型在索引位置2返回
(或字節摩托羅拉),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。
腓DOC用於和getimagesize() - http://php.net/manual/en/function.getimagesize.php
實例:
list($width, $height, $type) = getimagesize('herp-derp.png');
echo $type;
編輯:從PHPDoc的筆記有用的註釋....
In addition to thomporter's quick-reference of the output array, here's what PHP 4.4.0 does:
Array[0] = Width
Array[1] = Height
Array[2] = Image Type Flag
Array[3] = width="xxx" height="xxx"
Array[bits] = bits
Array[channels] = channels
Array[mime] = mime-type
編輯:getImageType
返回IMAGICK_TYPE_ *常量之一(http://www.phpf1.com/manual/imagick-getimagetype.html)。你可以在這裏找到常量列表 - http://php.net/manual/en/imagick.constants.php。
IMGTYPE常數
imagick :: IMGTYPE_UNDEFINED(整數)
imagick :: IMGTYPE_BILEVEL(整數)
imagick :: IMGTYPE_GRAYSCALE(整數)
imagick :: IMGTYPE_GRAYSCALEMATTE(整數)
imagick: :IMGTYPE_PALETTE(整數)
imagick :: IMGTYPE_PALETTEMATTE(整數)
imagick :: IMGTYPE_TRUECOLOR(整數)
imagick :: IMGTYPE_TRUECOLORMATTE(整數)
imagick :: IMGTYPE_COLORSEPARATION(整數)
imagick :: IMGTYPE_COLORSEPARATIONMATTE(整數)
imagick :: IMGTYPE_OPTIMIZE(整數)
我想弄清楚如何使用ImageMagick函數。但是,謝謝。 – kylex 2011-04-11 21:51:21
@kylex,我列出了上面返回的imagetype常量列表。 – 2011-04-12 14:22:25
這是我能爲你這會做的最好給你的擴展和加載圖像
$path_parts = pathinfo("test.png");
echo $path_parts ['extension'];
驗證映像一個很好的和快速的方法之前,你可以使用第一種:
$ identify -format %m image.jpg
JPEG
在PHP中:
<?php
// If its not a valid image, returns an empty string.
$image_type = exec('identify -format %m image.jpg');
?>
更多關於使用-format:imagemagick formats
你爲什麼想知道格式正常工作?你可以設置格式爲任何,所以我想我不知道你爲什麼要格式? – mcgrailm 2011-04-12 00:48:38
首先,如果它是透明png,我不想將它保存爲jpg,但如果它是jpg,我不希望將大小保存爲png。 – kylex 2011-04-12 02:09:29
有任何這些答案可以解決您的問題? – mcgrailm 2011-04-13 14:15:59