php - 如何在上传时裁剪图片?

标签 php image crop

我正在做一个社交网络项目,我可以在其中添加/编辑照片,当用户单击按钮时,图像将上传到数据库并进行更新...是否可以裁剪图像在将其保存到数据库之前。

最佳答案

简单地调用这个函数..用参数源,目的地和你想要的大小:)

function cropImage($source,$dest,$whsize) {

                $size = getimagesize($source);
                $w = $size[0];
                $h = $size[1];
                $xratio=$w/$whsize;
                $yratio=$h/$whsize;

                if($xratio > $yratio)$multiplier=$xratio;
                else $multiplier=$yratio;

                $nw=$w/$multiplier;
                $nh=$h/$multiplier;
                switch($size[2]) {
                    case '1':
                    $simg = imagecreatefromgif($source);
                    break;
                    case '2':
                    $simg = imagecreatefromjpeg($source);
                    break;
                    case '3':
                    $simg = imagecreatefrompng($source);
                    break;
                }

                $dimg = imagecreatetruecolor($nw, $nh);

                $wm = $w/$nw;
                $hm = $h/$nh;

                $h_height = $nh/2;
                $w_height = $nw/2;

                if($w> $h) {

                    $adjusted_width = $w / $hm;
                    $half_width = $adjusted_width / 2;
                    $int_width = $half_width - $w_height;

                    imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);

                } elseif(($w <$h) || ($w == $h)) {

                    $adjusted_height = $h / $wm;
                    $half_height = $adjusted_height / 2;
                    $int_height = $half_height - $h_height;

                    imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);

                } else {
                    imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
                }
             $dest=$dest.'jpeg';
                imagejpeg($dimg,$dest,100);
        }       

关于php - 如何在上传时裁剪图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3263966/

相关文章:

swift - 在 Swift 中从自定义相机拍摄后裁剪图像

php - 在后端处理 Paypal 付款

php - 使用 jQuery 调用 php 注销脚本

javascript - 表单中的多选选项

html - 允许图像缩小,但不能拉伸(stretch)

python - 如何在 Python 中将裁剪后的图像放在 Tkinter Canvas 上

php - 实例化期间未提供 React Loop

python - 使用 Pillow 批量创建 GIF 动画

c# - 在 TPL 上执行长时间任务时图像渲染速度缓慢

python - 在黑白图像上检测白色矩形并裁剪(OpenCV)