老师,缩略图这里有点疑问

老师,缩略图这里有点疑问

老师的代码:

if($width <= 0 || $height <= 0)

        {

            $desW = $srcW;//缩略图高度

            $desH = $srcH;//缩略图宽度

        }

        else

        {

            $srcP = $srcW / $srcH;//宽高比

            $desP = $width / $height;


            if($width > $srcW)

            {

                if($height > $srcH)

                {

                    $desW = $srcW;

                    $desH = $srcH;

                }

                else

                {

                    $desH = $height;

                    $desW = round($desH * $srcP);

                }

            }

            else

            {

                if($desP > $srcP)

                {

                    $desW = $width;

                    $desH = round($desW / $srcP);

                }

                else

                {

                    $desH = $height;

                    $desW = round($desH * $srcP);

                }

            }

        }

当$width>$SrcW && $heigh<$srcH时老师取$desW = round($desH*$srcP);

这里不是应该取$desW = round($desH*$desP)么?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,在传进来的宽大于原宽,并传入的高度小于原图的高度,为了保证原图的宽高比,以生成缩略图的高作为基础,乘于原图宽高比($desW=round($desH*$srcP);)。如果使用传参的宽高比,则宽度大于原图,会将图片放大,而不是缩略了。

如果解决了你的问题,请采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师