添加到QQ书签 | 设为首页 | 加入收藏 | 繁體中文 | 网站地图
 | 网站首页 | QQ空间大图 | QQ空间FLASH模块 | QQ闪字表情 | QQ系列 | QQ下载 | 博客系列 | 完美图片 | 游戏秘籍 | 基础教程 | 
 | 精美字体 | 精品娃娃 | 个性签名 | 动感图片 | 制作素材 | 边框线条 | 视频·搞笑图片 | 基础知识 | 网页设计 | 
推 荐 阅 读
  • 没有推荐文章
  • 阅 读 排 行
    ·网页鼠标特效:在鼠标后面…
    ·在文本框默认自动输入当前…
    ·网页图片特效:图片动态水…
    ·网页鼠标特效:黑暗火光
    ·CSS基础知识:样式表CSS中…
    ·PHP源代码:图片加入文字…
    ·PHP源代码:Email图片生成
    ·CSS解决图片下有空隙
    ·纯CSS制作的网页中的ligh…
    ·网页图片鼠标动作特效:图…
    ·在线处理示意等待的AJAX动…
    ·11个图片上传加水印PHP源…
    ·CSS实现排版段落前面空两…
    ·网页时间特效:漂亮的脚本…
    ·PHP源代码:在图片上添加…
    ·DIV和CSS排版中制作细线条…
    ·CSS样式表参考:常用的CS…
    ·CSS优化:网页技术CSS的f…
    ·网页相册图片特效:矩阵鼠…
    ·PHP创建文字图片源码
     
    PHP自动缩略裁剪生成图片 【字体:
     您现在的位置: QQ宝页站 >> 网页设计 >> PHP >> 正文 添加到百度搜藏 添加到QQ书签
     作者:佚名    文章来源:收录    点击数:    更新时间:2008-8-15  

    <?
    class resizeimage
    {
       //图片类型
       var $type;
       //实际宽度
       var $width;
       //实际高度
       var $height;
       //改变后的宽度
       var $resize_width;
       //改变后的高度
       var $resize_height;
       //是否裁图
       var $cut;
       //源图象
       var $srcimg;
       //目标图象地址[separator]
       var $dstimg;
       //临????建的图象
       var $im;

    function resizeimage($img, $wid, $hei,$c)
       {
           $this->srcimg = $img;
           $this->resize_width = $wid;
           $this->resize_height = $hei;
           $this->cut = $c;
           //图片的类型
           $this->type = substr(strrchr($this->srcimg,"."),1);
           //初始化图象
           $this->initi_img();
           //目标图象地址
           $this -> dst_img();
           //--
           $this->width = imagesx($this->im);
           $this->height = imagesy($this->im);
           //生成图象
           $this->newimg();
           ImageDestroy ($this->im);
       }
       function newimg()
       {
           //改变后的图象的比例
           $resize_ratio = ($this->resize_width)/($this->resize_height);
           //实际图象的比例
           $ratio = ($this->width)/($this->height);
           if(($this->cut)=="1")
           //裁图
           {
               if($ratio>=$resize_ratio)
               //高度优先
               {
                   $newimg = imagecreatetruecolor($this->resize_width,$this->resize_height);
                   imagecopyresampled($newimg, $this->im, 0, 0, 0, 0, $this->resize_width,$this->resize_height, (($this->height)*$resize_ratio), $this->height);
                   ImageJpeg ($newimg,$this->dstimg);
               }
               if($ratio<$resize_ratio)
               //宽度优先
               {
                   $newimg = imagecreatetruecolor($this->resize_width,$this->resize_height);
                   imagecopyresampled($newimg, $this->im, 0, 0, 0, 0, $this->resize_width, $this->resize_height, $this->width, (($this->width)/$resize_ratio));
                   ImageJpeg ($newimg,$this->dstimg);
               }
           }
           else
           //不裁图
           {
               if($ratio>=$resize_ratio)
               {
                   $newimg = imagecreatetruecolor($this->resize_width,($this->resize_width)/$ratio);
                   imagecopyresampled($newimg, $this->im, 0, 0, 0, 0, $this->resize_width, ($this->resize_width)/$ratio, $this->width, $this->height);
                   ImageJpeg ($newimg,$this->dstimg);
               }
               if($ratio<$resize_ratio)
               {
                   $newimg = imagecreatetruecolor(($this->resize_height)*$ratio,$this->resize_height);
                   imagecopyresampled($newimg, $this->im, 0, 0, 0, 0, ($this->resize_height)*$ratio, $this->resize_height, $this->width, $this->height);
                   ImageJpeg ($newimg,$this->dstimg);
               }
           }
       }
       //初始化图象
       function initi_img()
       {
           if($this->type=="jpg")
           {
               $this->im = imagecreatefromjpeg($this->srcimg);
           }
           if($this->type=="gif")
           {
               $this->im = imagecreatefromgif($this->srcimg);
           }
           if($this->type=="png")
           {
               $this->im = imagecreatefrompng($this->srcimg);
           }
       }
       //图象目标地址
       function dst_img()
       {
           $full_length = strlen($this->srcimg);
           $type_length = strlen($this->type);
           $name_length = $full_length-$type_length;
           $name         = substr($this->srcimg,0,$name_length-1);
           $this->dstimg = $name."_small.".$this->type;
       }
    }


    $resizeimage = new resizeimage("test.jpg", "400", "100", "1");
    $resizeimage = new resizeimage("11.jpg", "500", "500", "1");
    ?>
    <table width="200" height="200" cellspacing="0" cellpadding="0" border="0">
       <tr>
    <td bgcolor="#000000" align="center" valign="middle"><a href="test.jpg" target="_blank"><img src="test_small.jpg" border="0"></a><td>
       </tr>
    </table>


    Google
     
    文章录入:丹峰    责任编辑:丹峰 
  • 上一篇文章:

  • 下一篇文章:
  •  
    设为首页 / 加入收藏 / 联系站长 / 友情链接 / 本站动态 / 用户留言 / 版权申明
    QQ宝页站 www.QQBye.com 信息备案:粤ICP备06124483号