• 技术文章 >php教程 >php手册

    php简单缩略图类|image.class.php

    2016-06-13 11:32:30原创302
    使用方法:


    $img = new iamge;
    $img->resize('dstimg.jpg', 'srcimg.jpg', 300, 400);
    说明:这个是按照比例缩放,dstimg.jpg是目标文件,srcimg.jpg是源文件,后面的是目标文件的宽和高
    $img->thumb('dstimg.jpg', 'scrimg.jpg', 300, 300);
    说明:这个是按照比例缩略图,比如常用在头像缩略图的时候,dstimg.jpg是目标文件,srcimg.jpg是源文件,后面的是目标文件的宽和高
    这个是针对GD库才这样麻烦的,如果采用Imagick的话,就只需要两个函数就实现上面的功能,去查下文档就找到了。

    class image{

    public function resize($dstImg, $srcImg, $dstW, $dstH){
    list($srcW, $srcH) = getimagesize($srcImg);
    $scale = min($dstW/$srcW, $dstH/$srcH);
    $newW = round($srcW * $scale);
    $newH = round($srcH * $scale);
    $newImg = imagecreatetruecolor($newW, $newH);
    $srcImg = imagecreatefromjpeg($srcImg);
    imagecopyresampled($newImg, $srcImg, 0, 0, 0, 0, $newW, $newH, $srcW, $srcH);
    imagejpeg($newImg, $dstImg);
    }

    public function thumb($dstImg, $srcImg, $dstW, $dstH){
    list($srcW, $srcH) = getimagesize($srcImg);
    $scale = max($dstW/$srcW, $dstH/$srcH);
    $newW = round($dstW/$scale);
    $newH = round($dstH/$scale);
    $x = ($srcW - $newW)/2;
    $y = ($srcH - $newH)/2;
    $newImg = imagecreatetruecolor($dstW, $dstH);
    $srcImg = imagecreatefromjpeg($srcImg);
    imagecopyresampled($newImg, $srcImg, 0, 0, $x, $y, $dstW, $dstH, $newW, $newH);
    imagejpeg($newImg, $dstImg);
    }

    }

    function createFromType($type, $srcImg){
    $function = "imagecreatefrom$type";
    return $function($srcImg);
    }
    //为了解决不同图片格式的问题

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:apache设置静态文件缓存方法介绍 下一篇:delphi简单判断程序30秒没有键盘和鼠标动作示例
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 第八节 访问方式 [8]• PHP应用技巧小总结:几个有用的小技巧• PHP中重新定向到另一个页面• PHP5中Cookie与 Session使用详解_php基础• 生成sessionid和随机密码的例子_php基础
    1/1

    PHP中文网