首頁  >  文章  >  後端開發  >  如何利用PHP拼接多張圖片為一張長圖?

如何利用PHP拼接多張圖片為一張長圖?

WBOY
WBOY原創
2016-12-01 01:27:522704瀏覽

現有多張短圖,拼接成一張長圖,如何簡單實現?

回覆內容:

現有多張短圖,拼接成一張長圖,如何簡單實現?

<code><?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"></code>

imagecopyresample.

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn