php base64格式图片最长边不能超过多少同比例压缩代码

代码语言:php

所属分类:其他

代码描述:php base64格式图片最长边不能超过多少同比例压缩代码

代码标签: php base64 格式 图片 最长边 不能 超过 多少 同比例 压缩 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<?php
function compressBase64Image($imageUrl) {
    
    // 从 URL 获取图片数据
    $imageData = file_get_contents($imageUrl);

    if ($imageData === false) {
        return false; // 获取图片数据失败
    }
    
    $base64Image = base64_encode($imageData);
    // 去除 Base64 前缀(如果有)
    $base64Image = preg_replace('/^data:image\/(png|jpg|jpeg);base64,/', '', $base64Image);

    // 解码 Base64 图片
    $imageData = base64_decode($base64Image);

    // 创建图像资源
    $image = imagecreatefromstring($imageData);

    if ($image === false) {
        return false; // 创建图像资源失败
    }

    // 获取图像的宽度和高度
    $width = imagesx($image);
    $height = imagesy($image);

    // 计算最长边
    $maxDimension = max($width, $height);

    if ($maxDimension >50) {
        // 计算缩放比例
        $scale = 50 / $maxDimension;

        // 计算新的宽度和高度
        $newWidth = $width * $scale;
        $newHeight = $height * $scale;

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

        // 调整图像大小
        im.........完整代码请登录后点击上方下载按钮下载查看

网友评论0