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 相关文章推荐
多重?l件?合查?(一)
Oct 09 PHP
PHP中cookies使用指南
Mar 16 PHP
php GD绘制24小时柱状图
Jun 28 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
Jun 03 PHP
php多文件上传功能实现原理及代码
Apr 18 PHP
php输出xml属性的方法
Mar 19 PHP
PHP排序算法类实例
Jun 17 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
php PDO实现的事务回滚示例
Mar 23 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
PHP PDOStatement::bindColumn讲解
Jan 30 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
PHP脚本数据库功能详解(上)
2006/10/09 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
PHP正则表达式之捕获组与非捕获组
2015/11/06 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
JavaScript 学习笔记之变量及其作用域
2015/01/14 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
BootStrap 模态框实现刷新网页并关闭功能
2017/01/04 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
详解python中的线程与线程池
2019/05/10 Python
学习Django知识点分享
2019/09/11 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
美国存储和组织商店:The Container Store
2017/08/16 全球购物
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
实习评语大全
2014/04/26 职场文书
主题党日活动总结
2014/07/08 职场文书
财务出纳岗位职责
2015/03/31 职场文书
解约证明模板
2015/06/19 职场文书
Javascript 解构赋值详情
2021/11/17 Javascript