云樞智聯(lián)視角
關注互聯(lián)網(wǎng),關注技術開發(fā),透析與分享移動互聯(lián)網(wǎng)行業(yè)最新動態(tài)php圖片合成方法(多張圖片合成一張)
時間:2019-02-18 18:24:26 閱讀:15580次 分類:常見問題
1.多張圖片合成一張比如:
圖片合成,可以顯示在瀏覽器上面同時保存到文件夾下面
實例如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137 | <? php /** * 圖片合并 **/ $ pic_list = array ( 'img2.png', 'img2.png', 'logo.png', 'logo.png', 'logo.png', 'img2.png', 'img2.png', 'img2.png', 'img2.png' ); $ pic_list = array_slice ($pic_list, 0, 9); // 只操作前9個圖片 $ bg_w = 150 ; // 背景圖片寬度 $ bg_h = 150 ; // 背景圖片高度 $ background = imagecreatetruecolor ($bg_w,$bg_h); // 背景圖片 $ color = imagecolorallocate ($background, 202, 201, 201); // 為真彩色畫布創(chuàng)建白色背景,再設置為透明 imagefill($background, 0, 0, $color); imageColorTransparent($background, $color); $ pic_count = count($pic_list); $ lineArr = array (); // 需要換行的位置 $ space_x = 3 ; $ space_y = 3 ; $ line_x = 0 ; switch($pic_count) { case 1: // 正中間 $ start_x = intval ($bg_w/4); // 開始位置X $ start_y = intval ($bg_h/4); // 開始位置Y $ pic_w = intval ($bg_w/2); // 寬度 $ pic_h = intval ($bg_h/2); // 高度 break; case 2: // 中間位置并排 $ start_x = 2 ; $ start_y = intval ($bg_h/4) + 3; $ pic_w = intval ($bg_w/2) - 5; $ pic_h = intval ($bg_h/2) - 5; $ space_x = 5 ; break; case 3: $ start_x = 40 ; // 開始位置X $ start_y = 5 ; // 開始位置Y $ pic_w = intval ($bg_w/2) - 5; // 寬度 $ pic_h = intval ($bg_h/2) - 5; // 高度 $ lineArr = array (2); $ line_x = 4 ; break; case 4: $ start_x = 4 ; // 開始位置X $ start_y = 5 ; // 開始位置Y $ pic_w = intval ($bg_w/2) - 5; // 寬度 $ pic_h = intval ($bg_h/2) - 5; // 高度 $ lineArr = array (3); $ line_x = 4 ; break; case 5: $ start_x = 30 ; // 開始位置X $ start_y = 30 ; // 開始位置Y $ pic_w = intval ($bg_w/3) - 5; // 寬度 $ pic_h = intval ($bg_h/3) - 5; // 高度 $ lineArr = array (3); $ line_x = 5 ; break; case 6: $ start_x = 5 ; // 開始位置X $ start_y = 30 ; // 開始位置Y $ pic_w = intval ($bg_w/3) - 5; // 寬度 $ pic_h = intval ($bg_h/3) - 5; // 高度 $ lineArr = array (4); $ line_x = 5 ; break; case 7: $ start_x = 53 ; // 開始位置X $ start_y = 5 ; // 開始位置Y $ pic_w = intval ($bg_w/3) - 5; // 寬度 $ pic_h = intval ($bg_h/3) - 5; // 高度 $ lineArr = array (2,5); $ line_x = 5 ; break; case 8: $ start_x = 30 ; // 開始位置X $ start_y = 5 ; // 開始位置Y $ pic_w = intval ($bg_w/3) - 5; // 寬度 $ pic_h = intval ($bg_h/3) - 5; // 高度 $ lineArr = array (3,6); $ line_x = 5 ; break; case 9: $ start_x = 5 ; // 開始位置X $ start_y = 5 ; // 開始位置Y $ pic_w = intval ($bg_w/3) - 5; // 寬度 $ pic_h = intval ($bg_h/3) - 5; // 高度 $ lineArr = array (4,7); $ line_x = 5 ; break; } foreach( $pic_list as $k=>$pic_path ) { $kk = $k + 1; if ( in_array($kk, $lineArr) ) { $start_x = $line_x; $start_y = $start_y + $pic_h + $space_y; } $pathInfo = pathinfo($pic_path); switch( strtolower($pathInfo['extension']) ) { case 'jpg': case 'jpeg': $imagecreatefromjpeg = 'imagecreatefromjpeg'; break; case 'png': $imagecreatefromjpeg = 'imagecreatefrompng'; break; case 'gif': default: $imagecreatefromjpeg = 'imagecreatefromstring'; $pic_path = file_get_contents($pic_path); break; } $resource = $imagecreatefromjpeg($pic_path); // $start_x,$start_y copy圖片在背景中的位置 // 0,0 被copy圖片的位置 // $pic_w,$pic_h copy后的高度和寬度 imagecopyresized($background,$resource,$start_x,$start_y,0,0,$pic_w,$pic_h,imagesx($resource),imagesy($resource)); // 最后兩個參數(shù)為原始圖片寬度和高度,倒數(shù)兩個參數(shù)為copy時的圖片寬度和高度 $start_x = $start_x + $pic_w + $space_x; } header("Content-type: image/jpg"); imagejpeg($background); imagegif($background, "./hero_gam.png"); ?> |
以上這篇php圖片合成方法(多張圖片合成一張)就是小編分享給大家的全部內容了
云樞智聯(lián)(海南)信息技術有限公司(原中江網(wǎng)絡),成立于2005年,經(jīng)過20多年定制開發(fā)經(jīng)驗,積累了大量技術儲備和定制開發(fā)經(jīng)驗,是一家集軟件研發(fā)、互聯(lián)網(wǎng)應用為一體的綜合信息技術服務提供商。公司擁有核心的策劃團隊和專業(yè)的技術研發(fā)團隊,致力于采用領先的信息技術,長期為涉及智慧園區(qū)/廠區(qū)/校園領域的各個企業(yè)提供快速、高效、安全的信息技術支持。公司立足智慧園區(qū)和智慧教育行業(yè),通過軟硬件的研發(fā)和互聯(lián)網(wǎng)應用,疏通各企業(yè)間“端到端”的信息傳輸,靈活滿足智慧園區(qū)和智慧教育企業(yè)間不同用戶的需求,為其提供完善的信息化解決方案。
園區(qū)管理系統(tǒng),提供智慧園區(qū)綜合管理系統(tǒng),智慧園區(qū)設計方案咨詢,智慧園區(qū)管理系統(tǒng)、...