gongzuoshi123 2015-12-28 06:44 采纳率: 25%
浏览 1501
已结题

请教关于php图片处理的问题

把用户上传的jpg文件保存到服务器上的一个文件夹中,在把该文件夹里的jpg纵向拼合成一张长图并把长图保存为png给用户反回,
现在图片的拼合不会,求一个例子

  • 写回答

1条回答 默认 最新

  • 奈落Leafer 2016-01-07 02:37
    关注
     <?php
    $imgs    = array();
    $imgs[0] = 'imgs/1.jpg';
    $imgs[1] = 'imgs/2.jpg';
    $imgs[2] = 'imgs/3.jpg';
    $imgs[3] = 'imgs/4.jpg';
    $target  = 'emp.jpg'; //背景图片
    
    $target_img = Imagecreatefromjpeg($target);
    
    $source = array();
    
    foreach ($imgs as $k => $v) {
        $source[$k]['source'] = Imagecreatefromjpeg($v);
    
        $source[$k]['size'] = getimagesize($v);
    
    }
    
    //imagecopy ($target_img,$source[0]['source'],2,2,0,0,$source[0]['size'][0],$source[0]['size'][1]);
    //imagecopy ($target_img,$source[1]['source'],250,2,0,0,$source[1]['size'][0],$source[1]['size'][1]);
    $num1 = 0;
    $num  = 1;
    $tmp  = 2;
    $tmpy = 2; //图片之间的间距
    for ($i = 0; $i < 4; $i++) {
        imagecopy($target_img, $source[$i]['source'], $tmp, $tmpy, 0, 0, $source[$i]['size'][0], $source[$i]['size'][1]);
    
        $tmp = $tmp + $source[$i]['size'][0];
        $tmp = $tmp + 5;
        if ($i == $num) {
            $tmpy = $tmpy + $source[$i]['size'][1];
            $tmpy = $tmpy + 5;
            $tmp  = 2;
            $num  = $num + 3;
        }
    }
    Imagejpeg($target_img, 'pin.jpg');
    
    ?>
    <img src="pin.jpg">
    
    评论

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c