图片压缩,输出.png(有可能还是jpg类型,只是后缀为.png而已)

function resize($srcImage, $toFile = "", $maxWidth, $maxHeight, $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;
            default:
                $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);
            switch ($type) {
                case 1:

                    break;
                case 2:
                    imagejpeg($newImg, $toFile . ".png", $imgQuality);
                    break;
                case 3:
                    imagepng($newImg, $toFile . ".png");
                    break;
                default:
                    imagepng($newImg, $toFile . ".png");
                    break;
            }
            imagedestroy($newImg);
        }
        imagedestroy($img);
    }

用法:

<?php
$makedir="./res";
resize($makedir.'/head.png',$makedir."/smallfang",162,162);
//resize('需要压缩图片','压缩后图片 path + 名字','压缩后宽度大小','压缩后高度大小');
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值