一区二区三区无码免费网站_国产日韩中文字幕在线_乱伦三级中文综合_欧美日韩中文字幕国产_国产色播av在线_翘臀美女XX00后进式片_正品蓝导航福利找AV导航_131少妇爱做高清免费视频_久久精品影视少妇_爆乳美女午夜视频精品

聰明屋視角

關(guān)注互聯(lián)網(wǎng),關(guān)注技術(shù)開發(fā),透析與分享移動互聯(lián)網(wǎng)行業(yè)最新動態(tài)

php圖片合成方法(多張圖片合成一張)

時間:2019-02-18 18:24:26    閱讀:22803次 分類:解決方案
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...

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)建白色背景,再設(shè)置為透明
 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圖片合成方法(多張圖片合成一張)就是小編分享給大家的全部內(nèi)容了


蕪湖市聰明屋智能科技有限公司(原中江網(wǎng)絡(luò)),成立于2005年,經(jīng)過10多年定制開發(fā)經(jīng)驗,積累了大量技術(shù)儲備和定制開發(fā)經(jīng)驗,率先創(chuàng)建安徽省內(nèi)自主研發(fā)的云計算平臺,具有大數(shù)據(jù)、高并發(fā)等高強(qiáng)度計算能力,為眾多政府、學(xué)校、公安部門、中小企業(yè)解決數(shù)據(jù)計算與管理難題。2013年公司內(nèi)部專門創(chuàng)建電商服務(wù)部,為企業(yè)提供全方位電商解決方案與配套服務(wù)。多次獲得國家、省市級領(lǐng)導(dǎo)接見,被國內(nèi)近20家電視臺、報紙媒體爭相報道。至今,聰明屋智能科技服務(wù)過上市公司、大型國企、各類私企超800家,為多家公司提供各類政務(wù)系統(tǒng)、app開發(fā)定制、微信小程序開發(fā)定制、智能家居、電商系統(tǒng)、連鎖收銀等技術(shù)解決方案服務(wù)。同時,聰明屋智能科技在智能硬件方面、區(qū)塊鏈應(yīng)用方面持續(xù)投入關(guān)注及創(chuàng)新。

聰明屋智能科技