php 七牛 图片拼接+裁剪

本文介绍了一种利用七牛云平台实现图片批量上传及处理的方法。通过PHP脚本实现图片上传,然后采用水印叠加的方式将多张图片合成一张,并进行尺寸裁剪等操作。该过程展示了如何设置图片的位置、间距以及最终的保存方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    use Qiniu\Auth;
    use Qiniu\Processing\PersistentFop;

    $img_str=explode(",",trim($_POST['img_str'],","));//111.jpg,222.jpg,333.jpg....
    if(count($img_str)!=6){
            $this->ajaxreturn(array("type"=>"error","msg"=>"必须上传6张图"));
        }
    //直接上传到七牛
    $bucket = Config::BUCKET_IMG_NAME;
    $auth = new Auth(Config::AK, Config::SK);

    //图片处理时使用的队列名称 
    $pipeline = "";
    //背景图片地址
    //$key = Qiniu\base64_urlSafeEncode($bucket.":"."背景图片的七牛地址");
             for($i=0;$i<6;$i++){
            if($img_str[$i]==""){$img_str[$i]=$img_str[0];}
            $iimg[]=Qiniu\base64_urlSafeEncode($img_str[$i]);
        }
    //往背景图片NorthWest方位连续添加需要拼接的图片 dx横向坐标为每张图片的宽度,因为方位想通不加坐标的话就会覆盖
    $fops = "watermark/1/gravity/NorthWest/dx/0/image/".$iimg[0]."|watermark/1/gravity/NorthWest/dx/50/image/".$iimg[1]."|watermark/1/gravity/NorthWest/dx/100/image/".$iimg[2]."|watermark/1/gravity/NorthWest/dx/150/image/".$iimg[3]."|watermark/1/gravity/NorthWest/dx/200/image/".$iimg[4]."|watermark/1/gravity/NorthWest/dx/250/image/".$iimg[5]."|imageMogr2/gravity/NorthWest/crop/!300x50";
    //可以对转码后的文件进行使用saveas参数自定义命名,当然也可以不指定文件会默认命名并保存在当间
    $name=time().".png";
    $savekey = Qiniu\base64_urlSafeEncode($bucket.":".$name);//不指定名称让七牛随机生成

    $fops = $fops.'|saveas/'.$savekey;
    $config = new \Qiniu\Config();
    $pfop = new PersistentFop($auth, $config);

    list($id, $err) = $pfop->execute($bucket,'背景图片名称(是名称不是路径不是路径)', $fops, $pipeline, '', false);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值