侧边栏壁纸
博主昵称
梦之中小俊

以前高中时,羡慕大学考试只要及格就行;现在大学了,怀念高中考试及不及格都行??

PHP

php图片切割

梦之中小俊
2024-01-22 / 0 评论 / 305 阅读 / 推送成功!
 function cvimt($imageUrl){
    $targetWidth= 500;
    $targetHeight =500;
    $startY = 0;
    return cropImageToSize($imageUrl,$targetWidth,$targetHeight,$startY);
}

 function cropImageToSize($imageUrl, $targetWidth, $targetHeight, $startY) {

    try {
        // 创建cURL句柄
        $ch = curl_init($imageUrl);

        // 设置cURL选项
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, false);

        // 执行cURL请求并获取图片数据
        $imageData = curl_exec($ch);

        // 关闭cURL句柄
        curl_close($ch);

        // 从图像数据创建图像资源
        $image = imagecreatefromstring($imageData);
        if (!$image) {
            throw new Exception('无法创建图像资源');
        }

        // 获取原始图像的宽度和高度
        $originalWidth = imagesx($image);
        $originalHeight = imagesy($image);

        // 计算等比例缩放后的宽度和高度
        $ratio = min($originalWidth / $targetWidth, ($originalHeight - $startY) / $targetHeight); // 除去起始点的高度
        $scaledWidth = $targetWidth * $ratio;
        $scaledHeight = $targetHeight * $ratio;

        // 计算剪辑起始点的X坐标和Y坐标
        $startX = ($originalWidth - $scaledWidth) / 2;
        $startY = $startY; // 从指定Y坐标开始裁剪

        // 创建新的图像资源
        $newImage = imagecreatetruecolor($targetWidth, $targetHeight);

        // 将原始图像复制到新图像中(使用imagecopyresampled进行重采样)
        if (!imagecopyresampled($newImage, $image, 0, 0, $startX, $startY, $targetWidth, $targetHeight, $scaledWidth, $scaledHeight)) {
            throw new Exception('无法复制图像');
        }

        // 保存新图像(调整第三个参数为90,降低输出图像的压缩质量)
        $root_rul =  '/uploads/thumbnail/' . rand(1000,9999).'.jpg';
        $newImagePath = ROOT_PATH.'public/' .$root_rul;
        if (!imagejpeg($newImage, $newImagePath, 90)) {
            throw new Exception('无法保存图像');
        }

        // 销毁图像资源
        imagedestroy($image);
        imagedestroy($newImage);

        return $root_rul;
    } catch (Exception $e) {
        error_log($e->getMessage());
        return false;
    }
}
本文共 个字数,平均阅读时长 ≈ 分钟,您已阅读:0时0分0秒。
3

打赏

评论 (0)

OωO
  • ::(呵呵)
  • ::(哈哈)
  • ::(吐舌)
  • ::(太开心)
  • ::(笑眼)
  • ::(花心)
  • ::(小乖)
  • ::(乖)
  • ::(捂嘴笑)
  • ::(滑稽)
  • ::(你懂的)
  • ::(不高兴)
  • ::(怒)
  • ::(汗)
  • ::(黑线)
  • ::(泪)
  • ::(真棒)
  • ::(喷)
  • ::(惊哭)
  • ::(阴险)
  • ::(鄙视)
  • ::(酷)
  • ::(啊)
  • ::(狂汗)
  • ::(what)
  • ::(疑问)
  • ::(酸爽)
  • ::(呀咩爹)
  • ::(委屈)
  • ::(惊讶)
  • ::(睡觉)
  • ::(笑尿)
  • ::(挖鼻)
  • ::(吐)
  • ::(犀利)
  • ::(小红脸)
  • ::(懒得理)
  • ::(勉强)
  • ::(爱心)
  • ::(心碎)
  • ::(玫瑰)
  • ::(礼物)
  • ::(彩虹)
  • ::(太阳)
  • ::(星星月亮)
  • ::(钱币)
  • ::(茶杯)
  • ::(蛋糕)
  • ::(大拇指)
  • ::(胜利)
  • ::(haha)
  • ::(OK)
  • ::(沙发)
  • ::(手纸)
  • ::(香蕉)
  • ::(便便)
  • ::(药丸)
  • ::(红领巾)
  • ::(蜡烛)
  • ::(音乐)
  • ::(灯泡)
  • ::(开心)
  • ::(钱)
  • ::(咦)
  • ::(呼)
  • ::(冷)
  • ::(生气)
  • ::(弱)
  • ::(狗头)
泡泡
阿鲁
颜文字
取消
  1. 头像
    6767 Lv.1
    iPhone · Safari
    沙发

    画图

    回复
  2. 头像
    6767 Lv.1
    Windows 10 · Google Chrome
    板凳

    表情

    回复
  3. 头像
    透露 Lv.2
    Android · QQ Browser
    第30楼

    649494848

    回复