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 变量定义和变量替换的方法
Jul 30 PHP
PHP setTime 设置当前时间的代码
Aug 27 PHP
探讨如何在php168_cms中提取验证码
Jun 08 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
Jun 25 PHP
php使用post数组的键值创建同名变量并赋值的方法
Apr 03 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
PHP微信支付实例解析
Jul 22 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
Windows下php+mysql5.7配置教程
May 16 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
Jun 09 PHP
laravel高级的Join语法详解以及使用Join多个条件
Oct 16 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 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
PHP4(windows版本)中的COM函数
2006/10/09 PHP
PHP5中新增stdClass 内部保留类
2011/06/13 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
微信小程序实现皮肤功能(夜间模式)
2017/06/18 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
讲解Python中的递归函数
2015/04/27 Python
Python制作钉钉加密/解密工具
2016/12/07 Python
Python变量和数据类型详解
2017/02/15 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
Python使用numpy模块创建数组操作示例
2018/06/20 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
Python识别html主要文本框过程解析
2020/02/18 Python
Python变量格式化输出实现原理解析
2020/08/06 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
英国探险旅游专家:Explore
2018/12/20 全球购物
Hotels.com越南:酒店预订
2019/10/29 全球购物
毕业生实习鉴定
2013/12/11 职场文书
致跳高运动员广播稿
2014/01/13 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
消防隐患整改通知书
2015/04/22 职场文书
2015年幼儿园中班工作总结
2015/04/25 职场文书
2015秋季开学演讲稿范文
2015/07/16 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
Pytorch中expand()的使用(扩展某个维度)
2022/07/15 Python
vue递归实现树形组件
2022/07/15 Vue.js