学习php缩略图程序
本例中所要用到的几个PHP函数说明:
1、getimagesize
取得图像长宽,格式等信息
2、imagecreatefromgif等函数
从相应格式文件建立一个图像
3、imagesx,imagesy
取得图像的长宽值
4、imagecreatetruecolor
使用真彩色建立图像,这里是重要,使用这个图像的质量会比较早,大家可与imagecreate进行一下对比。
5、imagecopyresampled
重采样拷贝部分图像并调整大小
将一幅图像中的一块正方形区域拷贝到另一个图像中,平滑地插入像素值,因此,尤其是,减小了图像的大小而仍然保持了极大的清晰度。成功时返回 TRUE, 或者在失败时返回 FALSE.
<?php //自动缩图$srcfile原文件,大图;$photo_small目标文件,小图;$dstw,$dsth是小图的宽,高。 function makethumb($srcfile,$photo_small,$dstw,$dsth) { $data = getimagesize($srcfile); //var_dump($data); switch ($data[2]) { case 1: //图片类型,1是gif图 $im = @imagecreatefromgif($srcfile); break; case 2: //图片类型,2是jpg图 $im = @imagecreatefromjpeg($srcfile); break; case 3: //图片类型,3是png图 $im = @imagecreatefrompng($srcfile); break; } $srcw=imagesx($im); $srch=imagesy($im); $ni=imagecreatetruecolor($dstw,$dsth); imagecopyresampled($ni,$im,0,0,0,0,$dstw,$dsth,$srcw,$srch); imagejpeg($ni,$photo_small); //imagejpeg($ni); //在显示图片时用,把注释取消,能直接在页面显示出图片。 } makethumb('test.jpg', 'test-1.jpg', 180, 160); ?>