学习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);
?> 

posted on 2011-04-11 00:12  wufoo  阅读(855)  评论(0编辑  收藏  举报

导航