今天分享一段PHP中多張圖片合成一張圖片的代碼實現,我們可以在圖片合成,水印,九宮格等需求下使用到類似這樣的圖片合成效果,下面一起來看看例子吧.
例子代碼如下:
- $imgs = array();
- $imgs[0] = '1.jpg';
- $imgs[1] = '2.jpg';
- $imgs[2] = '3.jpg';
- $imgs[3] = '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=3; //控制列數,一行幾列,0為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; //開源軟件:Vevb.com
- 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">
新聞熱點
疑難解答