频道直达 - 专题 - 新闻 - 基础 - 高级 - 安装 - 技巧 - 数据库 - 手册 - PHP - Linux - Java - MySQL - Apache - 麻辣堂 - 狼盟 - Rails社群 - 搜索 - 下载 - 开源 - 论坛
PHP开发资源网 主页>>PHP基础教程>> 收藏此文 | 收藏本站 | 设为首页

PHP图像操作 - 图片缩放

来源: 作者: 出处: 2007-7-22 17:53:04 进入讨论组
关 键 词: PHP图像操作 - 图片缩放

<?php
if(isset($_GET["filename"])){
 $srcfile = $_GET["filename"];
 //echo $srcfile;
 resizeimage($srcfile, 100);
}

/*
 * 图片缩放 
 * $srcfile 源图片,
 * $rate 缩放比,默认为缩小一半,或者具体宽度象素值
 * 例如: resizeimage("zt32.gif",".1");
 * 例如: resizeimage("zt32.gif","250");
 * 说明:调用时直接把函数的结果放在HTML文件IMG标签中的SRC属性里
 */
function resizeimage($srcfile,$rate=.5){
 $size=getimagesize($srcfile);
 switch($size[2]){
  case 1:
   $img=imagecreatefromgif($srcfile);
   break;
  case 2:
   $img=imagecreatefromjpeg($srcfile);
   break;
  case 3:
   $img=imagecreatefrompng($srcfile);
   break;
 }
 //源图片的宽度和高度
 $srcw=imagesx($img);
 $srch=imagesy($img);
 //目的图片的宽度和高度
 if($size[0] <= $rate || $size[1] <= $rate){
  $dstw=$srcw;
  $dsth=$srch;
 }else{
  if($rate <= 1){
   $dstw=floor($srcw*$rate);
   $dsth=floor($srch*$rate);
  }else {
   $dstw=$rate;
   $rate = $rate/$srcw;
   $dsth=floor($srch*$rate);
  }
 }
   //echo "$dstw,$dsth,$srcw,$srch ";
 //新建一个真彩色图像
 $im=imagecreatetruecolor($dstw,$dsth);
 $black=imagecolorallocate($im,255,255,255);
 
 imagefilledrectangle($im,0,0,$dstw,$dsth,$black);
 imagecopyresized($im,$img,0,0,0,0,$dstw,$dsth,$srcw,$srch);
 // 以 JPEG 格式将图像输出到浏览器或文件
 imagejpeg($im);
 //释放图片
 imagedestroy($im);
 imagedestroy($img);
}
?>

欢迎进入PHP开发资源论坛讨论。
收藏此文】【 】【打印】【关闭
相关文章
图文推荐
论 坛 资 源
PHP开发资源网奋斗目标
阅读排行:
热门技术文档
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容
 
   网站首页 -  网站地图 -  网站合作 -  手册中心 -  通用网址 -  网站论坛 -  网站投稿 -  友情链接 -  帮助中心
版权所有:PHP开发资源网 © 2003-2008 通用网址:PHP资源网 合作媒体: 赛迪网IT技术
互联网违法和不良信息举报中心 | 不良信息举报信箱