• 技术文章 >php教程 >PHP源码

    php 按比例生成小图函数

    2016-06-08 17:28:18原创829

    class My_Lib_Functions {
    # ********************************************
    # 对象转数组
    # ********************************************
    function object2array ($obj) {
    foreach ($obj as $k => $v) {
    $arr[$k] = $v;
    unset($v);
    }
    return $arr;
    }


    // ********************************************
    // 获取限定区间内的图片宽高
    //$mx :图像在页面上显示的宽度
    //$my :图像在页面上显示的高度
    //此处缩略图按比例缩放的原理为x/y = $mx / $my;
    // **********************************************
    function getPicXY($picurl, $mx = 0, $my = 0){
    if (!$size = @GetImageSize($picurl)) return false; //GetImageSize用来测定任何图象大小并返回图象的尺寸以及文件类型和一个用于普通HTML文件中标记中的height/width文本字符串
    if ($mx == 0 && $my == 0) return $size; //当$mx与$my参数的值为零时,返回图象的大小
    if ($mx * $size[1] / $size[0] > $my){ //判断当$mx乘以图象本身的高度再除以图象的宽度大于在页面上显示的图象宽度时
    $newXY[0] = $my * $size[0] / $size[1]; //设置产生新图像的宽度为$mx的值乘以图象本身的宽度再除以图象本身的高度
    $newXY[1] = $my; //设置产生的新图像的高度为页面图象显示的高度
    }else{ //判断当$mx乘以图象本身的高度再除以图象的宽度不大于在页面上显示的图象宽度时
    $newXY[0] = $mx; //设置产生的新图像的宽度为页面图象显示的宽度
    $newXY[1] = $mx * $size[1] / $size[0]; //设置产生新图像的宽度为$mx的值乘以图象本身的高度再除以图象本身的宽度
    }
    if ($size[0] <= $my and $size[1] <= $mx){ //判断当图像本身的宽度小于等于页面上显示图像的宽度且图像本身的高度小于等于页面上显示图像的高度
    $newXY[0] = $size[0]; //设置图像新产生的宽度为图像本身的宽度
    $newXY[1] = $size[1]; //设置图像新年产的高度为图像本身的高度
    }
    return $newXY; //返回图像的新比例
    }

    function getNewImageWH2 ($imageUrl, $maxWidth = 0, $maxHeight = 0, &$newWidth = 0, &$newHeight = 0){
    if (!$imageSize = @GetImageSize($imageUrl)) return false;
    if ($maxWidth == 0 || $maxHeight == 0) {
    $newWidth = $imageSize[0];
    $newHeight = $imageSize[1];
    } else {
    $newWidth = $maxWidth;
    $newHeight = $newWidth * $imageSize[1] / $imageSize[0];
    if ($newHeight < $maxHeight) {
    $newHeight = $maxHeight;
    $newWidth = $newHeight * $imageSize[0] / $imageSize[1];
    }
    $imageSize[0] = $newWidth;
    $imageSize[1] = $newHeight;
    }
    return $imageSize;
    }


    }
    ?>

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp imageSize size newHeight newWidth
    上一篇:计算两日期间的天数 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 检测移动设备的php代码(手机访问)• php实用图片水印效果代码• php中$_SERVER['HTTP_USER_AGENT']判断是否为手机访问网站• php 列出目录与删除目录实例代码• php多文件上传
    1/1

    PHP中文网