PHP图片等比例缩放生成缩略图函数分享


Posted in PHP onJune 10, 2014
<?php
    /*
    *@im     //需要缩放的图片资源
    *@filetype //制作的缩略图文件类型
    *@dstimW   //缩放的图片的宽度
    *@dstimH  //缩放的图片的高度
    *@thumbname //缩略图文件名字
function makethumb($im,$dstimW,$dstimH,$thumbname ,$filetype){
            //获取im的宽度和高度
        $pic_W=imagesx($im);
        $pic_H=imagesy($im);
        $arr = array();
            swith($filetype){
                case 'jpg':
                        $arr[$filetype]="imagejpeg";
                        break;
                case 'png';
                        $arr[$filetype]="imagepng";
                        break;
                case 'jif';
                        $arr[$filetype]="imagegif";
                }
        if(($dstimgW && $dstimgW<$pic_W) || ($dstimgH && $dstimgH<$pic_H) ){
                if($dstimgW && $dstimgW<$pic_W){
                    $dsimgWratio = $dstimgW / $pic_w;
                    $resizereagW =true;
                }
                if($dstimgH && $ $dstimgH <$pic_H){
                    $dsimgHratio = $dstimgH/$pic_H;
                    $resizerreagH =true;
                }
                //缩略图宽高和原图宽高比,取最小的那个
                if($resizereagW && $resizerreagH){
                    if($dsimgWratio<$dsimgHratio)
                        $radio = $dsimgWratio;
                    else
                        $radio = $dsimgHratio;      
                }
                if($resizereagW && !$resizerreagH ){
                        $radio = $dsimgWratio;
                }
                if(!$resizereagW && $resizerreagH){
                       $radio = $dsimgHratio ;
                }
                $imgnewW = $pic_W * $radio;
                $imgnewH = $pic_H * $radio;
                if(function_exists("imgcopyresampled")){
                      //创建目标资源画布
                    $dst = imagecreatetruecolor ($imgnewW, $imgnewH);
                    imagecopyresampled ($dst,$im,0,0,0,0,$imgnewW,$imgnewH,$pic_W,$pic_H);
                }else{
             $dst=imagecreate($imgnewW, $imgnewH);
             imagecopyresized ($dst, $im,0,0,0,0,$imgnewW,$imgnewH,$imgnewH,$pic_W,$pic_H);
                }
        $arr[$filetype]($dst,$thumbname.".$filetype");
        imagedestroy ($dst);
    }else{//缩略图自身的宽和高已经大于了原图的宽和高
           //则缩略图的宽和缩略的高就是原图的宽和原图的高
         $arr[$filetype]($im,$thumbname.".$filetype");
         imagedestroy();
    }
}
?>
PHP 相关文章推荐
用PHP连mysql和oracle数据库性能比较
Oct 09 PHP
php+iframe实现隐藏无刷新上传文件
Feb 10 PHP
用PHP编写和读取XML的几种方式
Jan 12 PHP
深入PHP数据加密详解
Jun 18 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
Jun 25 PHP
php伪静态之APACHE篇
Jun 02 PHP
smarty中js的调用方法示例
Oct 27 PHP
php实现mysql事务处理的方法
Dec 25 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
Mar 08 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
May 17 PHP
PHP fclose函数用法总结
Feb 15 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 PHP
CI(CodeIgniter)框架中的增删改查操作
Jun 10 #PHP
PHP定时更新程序设计思路分享
Jun 10 #PHP
CI(CodeIgniter)框架配置
Jun 10 #PHP
教你如何用php实现LOL数据远程获取
Jun 10 #PHP
PHP面向对象教程之自定义类
Jun 10 #PHP
微信营销平台系统?刮刮乐的开发
Jun 10 #PHP
百度地图API应用之获取用户的具体位置
Jun 10 #PHP
You might like
用PHP实现的随机广告显示代码
2007/06/14 PHP
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
PDO操作MySQL的基础教程(推荐)
2017/08/18 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
LazyLoad 延迟加载(按需加载)
2010/05/31 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
js查找节点的方法小结
2015/01/13 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
Js apply方法详解
2017/02/16 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
操作Windows注册表的简单的Python程序制作教程
2015/04/07 Python
简单实现python聊天程序
2018/04/01 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
浅谈HTML5 服务器推送事件(Server-sent Events)
2017/08/01 HTML / CSS
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
工厂保洁员岗位职责
2013/12/04 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
国贸专业自荐信范文
2014/03/02 职场文书
师范生求职自荐信
2014/06/14 职场文书
五一促销活动总结
2014/07/01 职场文书
结对共建协议书
2014/08/20 职场文书
投诉书范文
2015/07/02 职场文书
感恩老师主题班会
2015/08/12 职场文书
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers