文章教程

19.3.2获取图片的相关属性

9/17/2020 9:26:54 PM 人评论 次浏览

19.3.2 获取图片的相关属性

对打开的图片可以获取该图片的有关属性,如图片大小、图片的宽和高等。代码19-7演示了如何在PHP程序中获取图片的相关属性值。

代码19-7 获取图片的相关属性19-7.php


01 <?php

02 $img=imagecreatefromjpeg("tower.jpg");//打开指定的图片文件

03

04 $x=imageSX($img);

05 $y=ImageSY($img);

06 echo"图片tower.jpg的宽为:<b>$x</b>pixels";

07 echo"<br/>";

08 echo"<br/>";

09 echo"图片tower.jpg的高为:<b>$y</b>pixels";

10 ?>


【代码解析】这段代码的执行结果如图19-9所示。这段代码使用函数imageSX()获取已打开图片的宽度,其参数为所打开图像的资源标识符,返回值为图像的宽度,单位为像素。同理,调用函数imageSY()可以取得图片的高度。

图 19-9 获取图像的宽、高属性

另外,通过一个不属于GD库的函数getimagesize(),可以取得图片的大小等相关属性,该函数的语法如下所示。


array getimagesize(string$filename[,array&imageinfo])


该函数可以测定GIF、JPG、PNG、SWF、BMP、XBM等多种格式图片文件的大小。该函数第1个参数为要打开的图片的路径,该参数值可以是一个有效的URL地址。代码19-8演示了函数getimagesize()在PHP程序中的用法。

代码19-8 函数getimagesize()的用法19-8.php


01 <?php

02 $img_info=getimagesize("tower.jpg");//获取图片文件的大小信息

03

04 for($i=0;$i<4;++$i)

05 {

06 echo$img_info[$i];

07 echo"<br/>";

08 }

09 ?>


【代码解析】从程序19-8.php的执行结果可以看出,函数getimagesize()返回了一个关于该图片信息的数组,第1、2个元素是图像的宽、高,第3个元素是图片的格式,它的取值含义如下所示。

❑取值1,表示该图片是GIF格式。

❑取值2,表示该图片是JPG格式。

❑取值3,表示改图片是PNG格式。

❑取值4,表示该图片是SWF格式。

❑取值5,表示该图片是PSD格式。

❑取值6,表示该图片是BMP格式。

第4个元素表示该图片宽、高的字串,从这个显示效果可以看出,这个宽、高字串正好可以用在HTML中表示图片的宽、高属性。比如可以按如下代码片段所示的方式使用。


<?php

$pic_name="some_image.png";

$pic_size=GetImageSize($pic_name);

?>

<img src="<?php echo$pic_name;?>"<?php echo$pic_size[3];?>>


注意 这里再次强调,该函数不属于GD库,无需GD库支持即可使用。

这段代码的输出结果如图19-10所示。

图 19-10 函数getimagesize()的用法

教程类别