在项目中需要把几张图片合并在一起,如下图

分别由头、身、腿三张图片合并起来



UsualToolCMS 是一款企业级的网站内容管理系统,由PHP+MYSQL编写,使用模板分离技术,支持创建多种类型的站点。 拥有UsualToolCMS便能快速同时在手机端与电脑端建立网站,通过UsualToolCMS能快速接入公众号,快速生成一个微信小程序及WEBAPP,真正的多站合一。互联网技术变得更简单。 升级说明: UsualToolCMS7.0.0604增加文字/图片自动水印系
77
代码如下:
立即学习“PHP免费学习笔记(深入)”;
<span> 1</span> <span>function</span> combineImage(<span>$head_img</span>,<span>$middle_img</span>,<span>$footer_img</span>,<span>$save_path</span><span>){
</span><span> 2</span> <span>$source_w</span> = 400<span>;
</span><span> 3</span> <span>$source_h</span> = 1142<span>;
</span><span> 4</span> <span>//</span><span>取头部图片大小</span>
<span> 5</span> <span>$head_size</span> = <span>getimagesize</span>(<span>$head_img</span><span>);
</span><span> 6</span> <span>$head_height</span> = <span>$head_size</span>['1'<span>];
</span><span> 7</span> <span>$head_width</span> = <span>$head_size</span>['0'<span>];
</span><span> 8</span> <span>$head_start_x</span> = <span>floor</span>((<span>$source_w</span>-<span>$head_width</span>)/2);<span>//</span><span>头部开始位置
</span><span> 9</span> <span> //取中间图片大小</span>
<span>10</span> <span>$midd_size</span> = <span>getimagesize</span>(<span>$middle_img</span><span>);
</span><span>11</span> <span>$midd_height</span> = <span>$midd_size</span>['1'<span>];
</span><span>12</span> <span>$midd_width</span> = <span>$midd_size</span>['0'<span>];
</span><span>13</span> <span>$midd_start_y</span> = <span>$head_height</span>-15;<span>//</span><span>中间开始Y坐标,因为头部的图片底部有空白,所以减去15</span>
<span>14</span> <span>$midd_start_x</span> = <span>floor</span>((<span>$source_w</span>-<span>$midd_width</span>)/2<span>);
</span><span>15</span>
<span>16</span> <span>//</span><span>取底部图片大小</span>
<span>17</span> <span>$foot_size</span> = <span>getimagesize</span>(<span>$footer_img</span><span>);
</span><span>18</span> <span>$foot_height</span> = <span>$foot_size</span>[1<span>];
</span><span>19</span> <span>$foot_width</span> = <span>$foot_size</span>[0<span>];
</span><span>20</span> <span>$foot_start_x</span> = <span>floor</span>((<span>$source_w</span>-<span>$foot_width</span>)/2);<span>//</span><span>底部图片x坐标</span>
<span>21</span> <span>$foot_start_y</span> = <span>$source_h</span>-<span>$foot_height</span>;<span>//</span><span>底部图片y坐标</span>
<span>22</span>
<span>23</span> <span>$head</span> = imagecreatefrompng(<span>$head_img</span><span>);
</span><span>24</span> <span>$middle</span> = imagecreatefrompng(<span>$middle_img</span><span>);
</span><span>25</span> <span>$footer</span> = imagecreatefrompng(<span>$footer_img</span><span>);
</span><span>26</span>
<span>27</span> <span>$bg_img</span> = imageCreatetruecolor(<span>$source_w</span>,<span>$source_h</span>);<span>//</span><span>生成背景图片</span>
<span>28</span> <span>$color</span> = imagecolorallocate(<span>$bg_img</span>, 255, 255, 255); <span>//</span><span>设置白色背景</span>
<span>29</span> imagefill(<span>$bg_img</span>, 0, 0, <span>$color</span>);<span>//</span><span>背景色填充</span>
<span>30</span> imageColorTransparent(<span>$bg_img</span>, <span>$color</span>);<span>//</span><span>透明</span>
<span>31</span> imagecopyresampled(<span>$bg_img</span>,<span>$head</span>,<span>$head_start_x</span>,0,0,0,<span>$head_width</span>,<span>$head_height</span>,<span>$head_width</span>,<span>$head_height</span><span>);
</span><span>32</span> imagecopyresampled(<span>$bg_img</span>,<span>$middle</span>,<span>$midd_start_x</span> , <span>$midd_start_y</span>,0,0,<span>$midd_width</span>,<span>$midd_height</span>,<span>$midd_width</span>,<span>$midd_height</span><span>);
</span><span>33</span> imagecopyresampled(<span>$bg_img</span>,<span>$footer</span>,<span>$foot_start_x</span> , <span>$foot_start_y</span>,0,0,<span>$foot_width</span>,<span>$foot_height</span>,<span>$foot_width</span>,<span>$foot_height</span><span>);
</span><span>34</span>
<span>35</span> imagepng(<span>$bg_img</span>,<span>$save_path</span><span> );
</span><span>36</span> <span>}
</span><span>37</span> <span>$head</span> = <span>dirname</span>(<span>__FILE__</span>).'/public/images/head.png'<span>;
</span><span>38</span> <span>$midd</span> = <span>dirname</span>(<span>__FILE__</span>).'/public/images/midd1.png'<span>;
</span><span>39</span> <span>$foot</span> = <span>dirname</span>(<span>__FILE__</span>).'/public/images/foot1.png'<span>;
</span><span>40</span> <span>$save_path</span> = <span>dirname</span>(<span>__FILE__</span>)."/public/images/testcomblie.png"<span>;
</span><span>41</span> combineImage(<span>$head</span>,<span>$midd</span>,<span>$foot</span>,<span>$save_path</span>);
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号