$imgsrc
= @ImageCreateFromJPEG(
$srcFile
);
break
;
case
3:
$imgsrc
= @ImageCreateFromPNG(
$srcFile
);
break
;
}
$srcW
= ImageSX(
$imgsrc
);
$srcH
= ImageSY(
$imgsrc
);
$ni
= ImageCreate(
$dstW
,
$dstH
);
ImageCopyResized(
$ni
,
$imgsrc
,0,0,0,0,
$dstW
,
$dstH
,
$srcW
,
$srcH
);
Imagegif(
$ni
,
$dstFile
);
// 如果需要输出到浏览器,那么将上一句改为 ImageJpeg($ni);
// 如果需要其他格式的图片,改动最后一句就可以了
}
?>
在这个例子中,首先通过
getimagesize
()函数获得源图片的情况,再用 imagecreatefromgif()、
imagecreatefromjpeg()或 imagecreatefrompng()创建一个源位图
$imgsrc
,然后用
imagecreate()函数创建一个目标位图,其长、宽各是源位图的一半。然后调用
imagecopyresized()
函数,将源位图缩小后拷贝到目标位图中,最后再用
imagegif()函数生成缩略图。
这里所用到的图形处理函数就是由安装的
GD 库提供的,现对其分别进行说明。首先
介绍
getimagesize
()函数,其标准语法如下。
语法:
array
getimagesize
(string filename,
array
[imageinfo]);
返回值:数组
函数种类:图形处理
内容说明:本函数可用来取得
GIF、JPEG 及 PNG 3 种 WWW 上图片的高与宽,不需要安装
GD library 就可以便用本函数。返回的数组有 4 个元素,返回数组的第一个元素(索引值 0)是
图片的高度,单位是像素
(pixel);第二个元素(索引值 1)是图片的宽度;第三个元素(索引值
2)是图片的文件格式,其值 1 为 GIF 格式、2 为 JPEG/JPG 格式、3 为 PNG 格式;
第四个元素
(索引值 3)为图片的高与宽字符串,height=xxx width=yyy。
通过
getimagesize
()函数的应用,能轻易获取图片的各种信息。下面给大家举一个获取图片
宽度、高度、格式、文件大小的信息的例子,来进一步领会
getimagesize
()函数的使用 技巧。
程序
imginfo 如程序清单 12—6 所示。
程序清单
12-6 imginfo.php
代码如下:
<?php
function
getImageInfo(
$img
)
//$img 为图像文件绝对路径
{
$img_info
=
getimagesize
(
$img
);
switch
(
$img_info
[2])
{