php图片缩放实现方法


Posted in PHP onFebruary 20, 2014

php基础练习--图片缩放:

<?php
    /**
    * image zoom.
    */
    function imageZoom($filename, $w, $h) {
        /* Arguments meaning */
        /* $filename: the source of the name */
        /* $w: you want get the image's width */
        /* $h: you want get the imgage's height */
        $arr = getimagesize($filename);
        $src_w = $arr[0];
        $src_h = $arr[1];
        $src_t = $arr[2];
        /*1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),
= TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,
= IFF,15 = WBMP,16 = XBM*/
        $src_m = $arr['mime'];
        $src_img = imagecreatefromjpeg($filename);
        if (($w / $src_w) >($h / $src_h)) {
            $bili = $h / $src_h;
        } else {
            $bili = $w / $src_h;
        }
        $dst_w = $src_w * $bili;
        $dst_h = $src_h * $bili;
        $dst_img = imagecreatetruecolor($dst_w, $dst_h);
        imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dst_w, $dst_h, $src_w, $src_h);
        header("content-type:{$src_m}");
        switch ($src_t) {
            case 1:
                $imgout = "imagegif";
                break;
            case 2:
                $imgout = "imagejpeg";
                break;
            case 3:
                $imgout = "imagepng";
                break;
            default:
                echo "The type was wrong!";
                break;
        }
        $dst_filename = "s_".$filename;
        $imgout($dst_img, $dst_filename);
        imagedestroy($dst_img);
    }
    $filename = 'gg.jpg';
    imageZoom($filename, 100, 200);

核心:<1>注意缩放比例如何得到,虽然这样得到的图片可能会与预想的有点差别,但是最起码保证了缩放比例。

 <2>类型的控制。

PHP 相关文章推荐
php自定义函数之递归删除文件及目录
Aug 08 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
php dirname(__FILE__) 获取当前文件的绝对路径
Jun 28 PHP
有关phpmailer的详细介绍及使用方法
Jan 28 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
yii2.0实现创建简单widgets示例
Jul 18 PHP
php中namespace及use用法分析
Dec 06 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
Feb 20 PHP
Smarty缓存机制实例详解【三种缓存方式】
Jul 20 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
php跨域cookie共享使用方法
Feb 20 #PHP
PHP中redis的用法深入解析
Feb 20 #PHP
MongoDB在PHP中的常用操作小结
Feb 20 #PHP
PHP判断远程图片或文件是否存在的实现代码
Feb 20 #PHP
Php无限级栏目分类读取的实现代码
Feb 19 #PHP
Php中使用Select 查询语句的实例
Feb 19 #PHP
php简单的留言板与回复功能具体实现
Feb 19 #PHP
You might like
我的论坛源代码(六)
2006/10/09 PHP
解析PHP无限级分类方法及代码
2013/06/21 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
php服务器的系统详解
2019/10/12 PHP
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
2016/05/05 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
python使用生成器实现可迭代对象
2018/03/20 Python
几款好用的python工具库(小结)
2020/10/20 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
水利学院求职自荐书
2014/02/01 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
社区服务标语
2014/07/01 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
党性教育心得体会
2014/09/03 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
企业催款函范本
2015/06/24 职场文书
公司借款担保书
2015/09/22 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis
详解运行Python的神器Jupyter Notebook
2021/06/03 Python
详解Python requests模块
2021/06/21 Python