• 技术文章 >后端开发 >php教程

    学习中 请教 一段代码图片缩放的问题

    2016-06-23 13:07:37原创446
    function resize($srcImage,$toFile,$maxWidth = 450,$maxHeight = 450,$imgQuality=100)
    {

    list($width, $height, $type, $attr) = getimagesize($srcImage);
    if($width < $maxWidth || $height < $maxHeight) return ;
    switch ($type) {
    case 1: $img = imagecreatefromgif($srcImage); break;
    case 2: $img = imagecreatefromjpeg($srcImage); break;
    case 3: $img = imagecreatefrompng($srcImage); break;
    }
    $scale = min($maxWidth/$width, $maxHeight/$height); //求出绽放比例

    if($scale < 1) {
    $newWidth = floor($scale*$width);
    $newHeight = floor($scale*$height);
    $newImg = imagecreatetruecolor($newWidth, $newHeight);
    imagecopyresampled($newImg, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
    $newName = "";
    $toFile = preg_replace("/(.gif|.jpg|.jpeg|.png)/i","",$toFile);

    switch($type) {
    case 1: if(imagegif($newImg, "$toFile$newName.gif", $imgQuality))
    return "$newName.gif"; break;
    case 2: if(imagejpeg($newImg, "$toFile$newName.jpg", $imgQuality))
    return "$newName.jpg"; break;
    case 3: if(imagepng($newImg, "$toFile$newName.png", $imgQuality))
    return "$newName.png"; break;
    default: if(imagejpeg($newImg, "$toFile$newName.jpg", $imgQuality))
    return "$newName.jpg"; break;
    }
    imagedestroy($newImg);
    }
    imagedestroy($img);
    return false;
    }


    在网上找到了这个, 可以正常缩小 但是怎么没法放大呢,

    求大虾解惑


    回复讨论(解决方案)

    你把 if($scale < 1) { 这个条件去掉,就可以放大了

    你把 if($scale < 1) { 这个条件去掉,就可以放大了



    我去。。 我这眼睛。。 哈哈 懂了 谢谢你
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:如何把数组变成带单引号的字符串? 下一篇:经验分享:如何用grep对PHP进行代码审计
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 一文聊聊php5.4的特性【总结】• 详细介绍PHP中时间处理类Carbon的用法• 分享一个neo4j(图形数据库)的PHP库!• PHP常量两种定义方法:define和const有什么区别• 一文聊聊php5.6的特性【总结】
    1/1

    PHP中文网