<?php /* imagick的获取图片的高度和宽度函数有问题,使用GD函数可获得正确结果 gd函数 array getimagesize ( string $filename [, array &$imageinfo ] ) getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 IMG 标记中的 height/width 文本字符串。 返回一个具有四个单元的数组。索引 0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。这些标记与 PHP 4.3.0 新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG 标记。 */ $new_filename = '14054076904103.gif'; /* 使用imagick的函数处理 */ $imagick = new Imagick($new_filename); $real_width = $imagick->getImageWidth(); $real_height = $imagick->getImageHeight(); error_log('real_width: '.$real_width.' real_height: '.$real_height); // $srcImage = $imagick->getImageGeometry(); error_log('real_width: '.$srcImage["width"].' real_height: '.$srcImage["height"]); /* 使用GD的函数处理 */ $image_size = getimagesize($new_filename); error_log('a............. width:'.$image_size[0].'............. height:'.$image_size[1]); /* 所打出的error log,图片的真实高度和宽度是 500x500 [Tue Jul 15 02:45:15 2014] [error] [client 192.168.2.105] real_width: 337 real_height: 367 [Tue Jul 15 02:45:15 2014] [error] [client 192.168.2.105] real_width: 337 real_height: 367 [Tue Jul 15 02:45:15 2014] [error] [client 192.168.2.105] a............. width:500............. height:500 [Tue Jul 15 02:45:15 2014] [error] [client 192.168.2.105] 2 real_width: 337 real_height: 367 [Tue Jul 15 02:45:15 2014] [error] [client 192.168.2.105] $width = 337 $height = 367 */
所处理的图片14054076904103.gif
imagick获取图片尺寸有bug
时间: 2024-11-01 10:39:43