PHP 4.0 时尚编程百例 —  实例 64  图像函数

林继 PHP 技术 5,457 共写了972个字 (2005-08-06 11:03:01) 没有评论 打印 扫描二维码 百度已收录

实例说明

本例将介绍一个图像函数的使用,getimagesize()函数用来取得GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 16种Www上图片的高与宽,不需要安装GD library就可以使用本函数。返回一个具有四个单元的数组。索引 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 新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height=”yyy” width=”xxx””,可直接用于 IMG 标记。

编程思路

在页面中使用—个GIF格式的图形,首先显示出图形,然后通过赋值 $image_size = getimagesize(“2.jpg”) 使 $image_size 变量得到图像的相关数据,通过变量的数组的索引得到具体数值.
其中索引 “0” 代表图片的宽度,索引”1″,代表图片的高度,索引 “2” 代表图片的类型,再使用3条打
印语句打印出来:

  1.    echo "<br /><br />"."图片的宽度:".$image_size[0]."<br /><br />";
  2.     echo "图片的高度:".$image_size[1]."<br /><br />";
  3.  
  4.     switch ($image_size[2]) { 
  5.     case 1:
  6.        print "图片的类型:GIF";
  7.        break;
  8.     case 2:
  9.        print "图片的类型:JPG";
  10.        break;
  11.     case 3:
  12.        print "图片的类型:PNG";
  13.        break;
  14.     case 4:
  15.        print "图片的类型:SWF";
  16.        break;
  17.     case 5:
  18.        print "图片的类型:PSD";
  19.        break;
  20.     case 6:
  21.        print "图片的类型:BMP";
  22.        break; 
  23.     case 7:
  24.        print "图片的类型:TIFF(intel byte order)";
  25.        break;
  26.     case 8:
  27.        print "图片的类型:TIFF(motorola byte order)";
  28.        break;
  29.     case 9:
  30.        print "图片的类型:JPC";
  31.        break;
  32.     case 10:
  33.        print "图片的类型:JP2";
  34.        break;
  35.     case 11:
  36.        print "图片的类型:JPX";
  37.        break;
  38.     case 12:
  39.        print "图片的类型:JB2";
  40.        break; 
  41. case 13:
  42.        print "图片的类型:SWC";
  43.        break;
  44.     case 14:
  45.        print "图片的类型:IFF";
  46.        break;
  47.     case 15:
  48.        print "图片的类型:WBMP";
  49.        break; 
  50.     case 16:
  51.        print "图片的类型:XBM";
  52.        break; 
  53. }

创作步骤

一、在页面中引入JPG格式的图片

  1. <HTML>
  2. <HEAD>
  3. <TITLE>图像函数</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <?php
  7.  
  8.     $image_size = getimagesize("2.jpg");

二、使用函数得到图片的相关数据

这个函数使用起来很简单,只要使用一条语句:$image_size = getimagesize(“2.jpg”),则数组变量
$image_size 就得到了图片的相关数据

三、打印图片的相关数据

利用数组的索引,打印出图片的相关数据。
请注意:在图片的格式中,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

四、本例程序代码

  1. <HTML>
  2. <HEAD>
  3. <TITLE>图像函数</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <?php
  7.  
  8.     $image_size = getimagesize("2.jpg");
  9.     echo "<img src="2.jpg" ".$image_size[3].">";
  10.     echo "<br /><br />"."图片的宽度:".$image_size[0]."<br /><br />";
  11.     echo "图片的高度:".$image_size[1]."<br /><br />";
  12.  
  13.     switch ($image_size[2]) { 
  14.     case 1:
  15.        print "图片的类型:GIF";
  16.        break;
  17.     case 2:
  18.        print "图片的类型:JPG";
  19.        break;
  20.     case 3:
  21.        print "图片的类型:PNG";
  22.        break;
  23.     case 4:
  24.        print "图片的类型:SWF";
  25.        break;
  26.     case 5:
  27.        print "图片的类型:PSD";
  28.        break;
  29.     case 6:
  30.        print "图片的类型:BMP";
  31.        break; 
  32.     case 7:
  33.        print "图片的类型:TIFF(intel byte order)";
  34.        break;
  35.     case 8:
  36.        print "图片的类型:TIFF(motorola byte order)";
  37.        break;
  38.     case 9:
  39.        print "图片的类型:JPC";
  40.        break;
  41.     case 10:
  42.        print "图片的类型:JP2";
  43.        break;
  44.     case 11:
  45.        print "图片的类型:JPX";
  46.        break;
  47.     case 12:
  48.        print "图片的类型:JB2";
  49.        break; 
  50.     case 13:
  51.        print "图片的类型:SWC";
  52.        break;
  53.     case 14:
  54.        print "图片的类型:IFF";
  55.        break;
  56.     case 15:
  57.        print "图片的类型:WBMP";
  58.        break; 
  59.     case 16:
  60.        print "图片的类型:XBM";
  61.        break; 
  62. }
  63.  
  64. ?>
  65.  
  66. </BODY>
  67. </HTML>

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >